问题描述
是否可以在python 3的循环内部增加for循环?
Is it possible to increment a for loop inside of the loop in python 3?
例如:
for i in range(0, len(foo_list)):
if foo_list[i] < bar
i += 4
如果条件成立,则循环计数器i
在哪里加4,否则它将只增加1(或for循环的步长值是什么)?
Where the loop counter i
gets incremented by 4 if the condition holds true, else it will just increment by one (or whatever the step value is for the for loop)?
我知道while循环更适用于这样的应用程序,但是最好知道for循环中的这种(或类似的东西)是否可能.
I know a while loop would be more applicable for an application like this, but it would be good to know if this (or something like this) in a for loop is possible.
谢谢!
推荐答案
您可以使用while循环并根据以下条件递增i
:
You could use a while loop and increment i
based on the condition:
while i < (len(foo_list)):
if foo_list[i] < bar: # if condition is True increment by 4
i += 4
else:
i += 1 # else just increment 1 by one and check next `foo_list[i]`
使用for循环i
将始终返回到范围内的下一个值:
Using a for loop i
will always return to the next value in the range:
foo_list = [1,2,3,4,5,6]
bar = 6
for i in range(len(foo_list)):
print("range i ",i)
if foo_list[i] < bar:
i += 4
print("if i",i)
('range i ', 0)
('if i', 4)
('range i ', 1)
('if i', 5)
('range i ', 2)
('if i', 6)
('range i ', 3)
('if i', 7)
('range i ', 4)
('if i', 8)
('range i ', 5)
这篇关于在循环内递增for循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!