首页 > 解决方案 > Python for 循环 - 我可以从循环内的条件集中跳过多次迭代吗?

问题描述

我有一个遍历范围的 for 循环,但我希望它根据条件跳过多次迭代。这是代码:

for i in range(1,100):

    if some_condition:
        i += some_number

我要完成的工作:假设 i=5 触发了 some_condition 并且 some_number=2,这将设置 i=7,然后我们迭代到的下一个 i 将是 8,所以我们从不迭代 6 和 7 。 我怎样才能做到这一点?

标签: pythonloops

解决方案


while使用循环可能更容易:

increment = 2

i = 1
while i < 100:
    if some_condition:
        i += increment
    i += 1

由于for循环将迭代器重新分配给可迭代项中的下一项,因此您在for子句中执行的任何操作都不会影响下一次循环迭代时的迭代器。


推荐阅读