Pythonfor循环-我可以从循环内的条件集跳过多次迭代吗?
我有一个循环遍历一个范围,但我希望它根据条件跳过多次迭代。这是代码:
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 。 我怎样才能做到这一点?
回答
使用while循环可能更容易:
increment = 2
i = 1
while i < 100:
if some_condition:
i += increment
i += 1
由于for循环将迭代器重新分配给可迭代对象中的下一项,因此您在for子句中所做的任何操作都不会影响下一次循环迭代时的迭代器。