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
三个整数,由此类推...