Skip to content

循环嵌套

循环嵌套

简介

在很多实际场景中,单层的循环并不能解决问题,比如二维列表数据的遍历,行列数据的展示等。

此时就需要在一个循环的循环体中嵌入另外一个循环处理问题,这种形式称为嵌套循环。

循环嵌套甚至可能还会产生三层甚至更多的嵌套形式。

循环嵌套特征

  • 循环嵌套不局限于某种循环形式,可任意相互嵌套
  • 外层循环循环一次,内层循环循环一轮

示例: 使用 for-in 循环遍历二维列表

data = [
    [1,2,3,4,5,6,7,8,9],
    ["A","B","C","D","E"],
    ["Hello","World","Python","Hogwarts"]
]
for item in data:
    for el in item:
        print(el)

示例: 使用 while 循环遍历二维列表

data = [
    [1,2,3,4,5,6,7,8,9],
    ["A","B","C","D","E"],
    ["Hello","World","Python","Hogwarts"]
]
l1 = len(data)
i = 0
while i < l1:
    item = data[i]
    l2 = len(item)
    j = 0
    while(j < l2):
        el = item[j]
        print(el)
        j += 1
    i += 1

示例: 输出九九乘法表的结果

for i in range(1,10):
    for j in range(1,i+1):
        print(i*j, end=" ")
    print()

实战作业

  1. 使用 for-in 内嵌 while 访问示例中的二维列表
  2. 使用 while 内嵌 for-in 访问示例中的二维列表
  3. 实现 九九乘法表标准格式输出
    1*1=1   
    1*2=2   2*2=4   
    1*3=3   2*3=6   3*3=9   
    1*4=4   2*4=8   3*4=12  4*4=16  
    1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  
    1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
    1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
    1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
    1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81