Home > Article > Backend Development > Python nested loops
The Python language allows you to embed another loop inside a loop body.
Python for loop nested syntax:
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)
Python while loop nesting Syntax:
while expression:
while expression:
statement(s)
statement(s)
You can embed other loop bodies within the loop body, such as in a while loop in You can embed a for loop, and conversely, you can embed a while loop within a for loop.
Example:
1. Take out one at a time from the first list, and take out one at a time from the second list, and combine them into a new list. The new list contains all combinations
List1 = ['zi', 'qiang', 'xue', 'tang']
List2 = [1, 2]
new_list = []
for m in List1:
for n in List2:
; , 2] , ['qiang', 1], ['qiang', 2], ['xue', 1], ['xue', 2], ['tang', 1], ['tang', 2]]
2. Take out two at a time from a list and find all the combinations
List = [1, 2, 3, 4, 5]
length = len(List )
for x in range(0, length-1):
for y in range(x+1, length):
print List[x], List[y]
result :
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5
3. The following example uses a nested loop to output prime numbers between 2 and 20:
Analysis: For a number n, if the numbers from 1 to n ** 0.5 (root n) are all divisible, Then the number n is a prime number.
3.1 Use for to implement
# -*- coding: utf-8 -*-
n = 20
for i in range(1, n):
for j in range(2, int(i**0.5)):
if i % j == 0:
break
else:
print i, 'is a prime number'
3.2 Use while to Implementation
#!/usr/bin/python
# -*- coding: utf-8 -*-
i = 2
while(i < 20):
j = 2
while(j <= (i/j)):
if not(i%j): # Or write if i % j == 0, if it means
break
j = j + 1
if (j > i/j):
print i, "is a prime number"
i = i + 1
print "Good bye!"
Explanation: i % j means the remainder after i is divided by j. For numbers, the Boolean value corresponding to 0 is false, and other values are true. not (i % j) means , and the condition can only be established when i % j is 0, which means if it can be divided integers.
The output result of the above example:
2 is a prime number
3 is a prime number
5 is a prime number
7 is a prime number
11 is a prime number
13 is a prime number
17 It’s a prime number
Good bye !