首页 > 解决方案 > 如何检查Python中的for循环是否被中断

问题描述

是否有任何 Pythonic 方法可以知道 for 循环是否被中断?

我有一个非常大的列表,有 100 000 条记录。我想遍历所有列表项,但我想知道是否出于某种原因(例如:如果电源没电,如果电池因任何其他原因没电)循环被中断并且没有到达列表的末尾。

因此,例如,如果我有如下列表:

some_list = ["item1", "item2", "item3", "item4", "item5"]
for item in some_list:
    # If it came to item3 and it's interrupted. How can I know that?
    print(item)

标签: python

解决方案


在python中,您可以使用该for/else语句。您可以在 for 循环之后添加 else 语句,如果没有调用 break,则 else 语句将触发。

您可以使用它来设置 for 循环完成的标志。

例子:

for i in range(10)
    if i == 10:
        break
else:
    print('the for loop ran without breaking')

上面的代码将打印文本“for loop running without broken”,而下面的代码不会。

for i in range(10)
    if i == 5:
        break
else:
    print('the for loop ran without breaking')

推荐阅读