Python中的双层循环指的是在一个for循环语句中再嵌套一个for循环,也就是两个for循环的嵌套。这种循环结构通常用于遍历多维数据结构,如二维数组或嵌套列表。
双层循环的基本流程是:
1. 外层循环执行一次。
2. 内层循环在外层循环的每次迭代中完整执行一次。
3. 内层循环结束后,外层循环再次执行,直到外层循环的条件不再满足。
例如,以下代码使用双层for循环计算一个二维数组中所有元素的和:
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
sum = 0
for row in array:
for element in row:
sum += element
print(sum) 输出45
在这个例子中,外层循环遍历数组的每一行,内层循环遍历每一行中的每个元素,并将它们累加到变量`sum`中。
双层循环在编程中非常有用,可以实现复杂的逻辑和算法。在某些情况下,你可能希望在内层循环满足某个条件时跳过本次内层循环,甚至结束本次外层循环。在这种情况下,可以使用`break`和`else`语句:
for i in range(1, 5):
for j in range(2, 7):
print(i, j)
if j == 5:
break
else:
continue
break
这段代码会输出:
1 2
1 3
1 4
1 5
2 2
2 3
2 4
2 5
3 2
3 3
3 4
3 5
4 2
4 3
4 4
4 5
当`j`等于5时,内层循环通过`break`语句跳出,外层循环继续执行下一次迭代。由于内层循环已经通过`break`退出,`else`子句不会执行。如果内层循环正常结束(没有遇到`break`),`else`子句将会执行,`continue`语句会导致外层循环继续下一次迭代。
需要注意的是,`else`子句是与`for`循环相关联的,而不是与`if`语句相关联。