for...in...循环一般来说是在开始的时候就设定了循环次数的,但可以用列表的特性使其变为无限循环

a = [100, 101, 102]
for b in a:
    print(b)
    a.append(b + 1)

运行结果:

  • 100
  • 101
  • 102
  • 101
  • ...

列表也是可迭代对象,每一次循环后,在列表末尾添加一个新元素,这样就可以使得列表元素一直在增长,永远有可以遍历的对象,所以会无限循环

for...in...循环可以同时进行多个可迭代对象的遍历,并且赋值到多个自定义变量

for j, k, l in zip(range(1, 10), range(11, 20), range(21, 30)):
    print(j, k, l)

运行结果:

  • 1 11 21
  • 2 12 22
  • 3 13 23
  • 4 14 24
  • 5 15 25
  • 6 16 26
  • 7 17 27
  • 8 18 28
  • 9 19 29

上面代码中,我们使用了新的函数zip(),这个函数可以打包多个可迭代对象,在括号内用,逗号分隔,可迭代对象的数量要和自定义变量的数量相等,所以前面自定义了相同数量的变量,不然会报错。如果里面的可迭代对象包含的元素数量不统一,哪个可迭代对象的元素少,就以它的数量为基础,决定for...in...循环会循环多少次

第一次循环,变量j按顺序被zip()函数中第一个可迭代对象range(1, 10)里面遍历获得的整数1赋值,变量k按顺序被zip()函数中第二个可迭代对象range(11, 20)里面遍历获得的整数11赋值,变量l按顺序被zip()函数中第三个可迭代对象range(21, 30)里面遍历获得的整数21赋值,所以最后输出的是1 11 21这三个整数,第二次循环,变量j被整数2赋值,变量k被整数12赋值,变量l被整数22赋值,所以最后输出的是2 12 22三个整数,由此类推...

最后修改:2021 年 10 月 25 日 11 : 28 PM