python嵌套for循环如何使用?

嵌套for循环指在for循环内部再嵌套一个或多个for循环,常用于处理二维数据、生成组合、遍历矩阵等;外层每执行一次,内层完整运行一遍;示例包括遍历二维列表成绩、生成(x,y)坐标对、打印乘法表;注意事项有避免层级过深、关注O(n²)性能问题、合理使用break和continue控制当前层循环。

Python中的嵌套for循环指的是在一个for循环内部再写一个或多个for循环。这种结构常用于处理二维数据(如列表的列表)、生成组合、遍历矩阵等场景。

基本语法结构

嵌套for循环的基本形式如下:

for 变量1 in 可迭代对象1:
    for 变量2 in 可迭代对象2:
        # 执行操作

外层循环每执行一次,内层循环会完整地运行一遍。

实际应用示例

1. 遍历二维列表
假设有一个表示学生成绩的二维列表,可以用嵌套循环逐个访问每个成绩:

scores = [
    [85, 90, 78],
    [88, 76, 92],
    [91, 85, 87]
]

for row in scores: for score in row: print(score, end=' ') print() # 换行

输出结果为每行的成绩,逐行打印。

2. 生成坐标或组合
比如打印出所有 (x, y) 坐标对,x 和 y 范围都是 0 到 2:

for x in range(3):
    for y in range(3):
        print(f"({x}, {y})")

这会输出从 (0,0) 到 (2,2) 的全部9个组合。

3. 打印乘法表
用嵌套循环打印九九乘法表的一部分:

for i in range(1, 4):
    for j in range(1, 4):
        print(f"{i} * {j} = {i*j}")
    print("--- 分隔线 ---")

外层控制被乘数,内层控制乘数,清晰展示计算过程。

注意事项

使用嵌套循环时要注意:

  • 避免过多层级,一般超过三层就会变得难读,应考虑函数拆分或使用其他结构。
  • 性能敏感场景中,嵌套循环可能带来 O(n²) 时间复杂度,需谨慎使用。
  • 可结合 break 和 continue 控制流程,但注意它们只作用于当前所在的循环层级。

基本上就这些。掌握嵌套for循环,能帮你更灵活地处理多维数据和重复结构。