考虑代码
for i in range(1,3):
print(i)
for j in range(4,7):
print(j)
for k in range(8,10):
print(k)
continue
预期输出为
[1 4 8 9] and [2 5 8 9]
每次迭代
而实际为[1 4 8 9 ],[5 8 9],[6 8 9],[2 4 8 9],[5 8 9],[6 8 9]
答案 0 :(得分:0)
用这样的简单嵌套for
循环无法实现所需的输出。
偶然地,continue
语句说要执行包含它的循环的下一个迭代,而跳过该块中位于其下方的任何语句。但是您的continue
位于该块的末尾,因此没有任何作用。
但是,即使有类似continue
的语句将控制权传回了最外层的for i
循环,它仍然 still 不会执行您想要的操作,因为{{ 1}}循环将再次从4开始计数。
但是,我们 可以通过使用内置的iter
函数创建迭代器来实现您的目标。然后,我们可以根据需要使用next
从该迭代器中获取每个项目。
for j
输出
it = iter(range(4, 7))
for i in range(1, 3):
print(i, end=' ')
j = next(it)
print(j, end=' ')
for k in range(8, 10):
print(k, end=' ')
print()
如果我们将第一条语句更改为
1 4 8 9
2 5 8 9
输出变为
for i in range(1, 4):