在循环内增加for循环

Kes*_*rel 5 python loops for-loop increment

是否可以在python 3中增加循环内部的for循环?

例如:

for i in range(0, len(foo_list)):
    if foo_list[i] < bar
        i += 4
Run Code Online (Sandbox Code Playgroud)

i如果条件成立,循环计数器增加4,否则它只会增加1(或者for循环的步长值是多少)?

我知道while循环更适用于这样的应用程序,但是知道在for循环中是否可以使用这个(或类似的东西)会很好.

谢谢!

Pad*_*ham 9

您可以使用while循环并i根据条件递增:

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]`
Run Code Online (Sandbox Code Playgroud)

使用for循环i将始终返回到范围中的下一个值:

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)
Run Code Online (Sandbox Code Playgroud)