当我运行python脚本时,一个奇怪的输出让我困惑,这是核心测试代码:
a = [1,2,3]
b = [4,5,6]
c = zip(a,b)
for i in range(2):
for x,y in c:
print(i,x,y)
仅输出:
0 1 4
0 2 5
0 3 6
我希望看到以i = 1
开头的结果。
答案 0 :(得分:1)
从python3开始,c
是一个生成器。
所以一旦你完成它,它就是空的。因此,为什么内循环只执行一次。
答案 1 :(得分:0)
a = [1,2,3]
b = [4,5,6]
c = zip(a,b)
for i,(x,y) in enumerate(c):
print(i, x, y)
output:
0 1 4
1 2 5
2 3 6