不要在for循环中进行下一次迭代

时间:2014-06-03 14:15:30

标签: python loops for-loop

不确定这是否可行,主要是好奇心问题,尽管我可能有一个案例可能有用。基本上我想知道是否有可能不在循环中进行下一次迭代,而是尝试重复该迭代。例如:

myList = ['a','b','c']

for thing in myList:

    if something:
        continue
    else:
        try again (same iteration)

我要求明确的是什么?我这样做的一种方法是使用while循环仅对列表的第一个元素进行操作,然后在满足某些条件的情况下连续删除列表的第一个元素。

由于

1 个答案:

答案 0 :(得分:1)

您可以使用while循环并手动从迭代变量中减去。演示:

import time
myList = [1,2,3,4,5,6,7,8]
i = 0
while i < len(myList):
    time.sleep(1)
    print(i)
    if i == 3:
        i -= 1
    i += 1

当然,您现在需要通过索引到thing来访问myList,即对myList[i]执行某些操作。