首页 > 解决方案 > 如何找到在python中发生continue-sattement的迭代

问题描述

我在python中有一个for循环和一个语句。continue我想知道continue语句发生的迭代次数。我是说:

count=0
for i in range (5):
    if i == 3:
        count+=1
        continue
    print (i)

count值告诉我我在循环1中遇到的时间。但我想知道它是在哪个迭代中进行的,显然是第四次迭代(在打印 0、1 和 2 之后)。实际上我可能会遇到好几次,这只是一个简单的例子来澄清我的问题。如果有人让我知道如何找到它,我将不胜感激。在此先感谢您的帮助。continueforcontinue

标签: pythonfor-loopcontinue

解决方案


有两种方法可以解决这个问题。

  1. 稍微修改你的代码:
>>> count = 0
>>> for i in range(5):
...     count += 1
...     if i == 3:
...             print(f"Loop continued at iteration {count}")
...             continue
...     print(i)
...
0
1
2
Loop continued at iteration 4
4
  1. 使用enumerate, 以获得更“pythonic”的解决方案:
>>> for iter, i in enumerate(range(5), start=1):
...     if i == 3:
...             print(f"Loop continued at iteration {iter}")
...             continue
...     print(i)
...
0
1
2
Loop continued at iteration 4
4

推荐阅读