您可以跳过python中for循环的下一个迭代吗? [重复]

问题描述 投票:-1回答:1

对于此代码:

for i, num in enumerate(range(20)):
    if num > 10:
        i += 1
    print(num)

想法是让它在num> 10之后跳过其他所有迭代,但是只打印范围内的所有项目。

是否有一种方法可以跳过for循环的下一个/多次迭代?

python
1个回答
-2
投票

您无法在for循环中修改迭代器,可以为此使用while

i=0
while i < 20:
    if i > 10:
        i+= 1
    i += 1
    print(i)

1
2
3
4
5
6
7
8
9
10
11
13
15
17
19
21

-2
投票

在num> 10之后跳过其他所有迭代

生成一个无需在循环内进行任何特殊处理即可实现的范围:

from itertools import chain

for i, num in enumerate(chain(range(10), range(10, 20, 2))):
    print(i, num)
© www.soinside.com 2019 - 2024. All rights reserved.