Python 提前退出循环

40 投票
4 回答
72019 浏览
提问于 2025-04-15 18:47

在Python中,我怎么能提前结束一个循环呢?

for a in b:
    if criteria in list1:
        print "oh no"
        #Force loop i.e. force next iteration without going on
    someList.append(a)

另外,在Java中你可以用break来跳出一个循环,Python中有没有类似的方式呢?

4 个回答

5

continuebreak 的用法和其他编程语言一样,唯一的不同是你不能像在Java中那样使用标签来 break。这意味着你一次只能退出一个循环。

26

首先,要记住,你可能可以通过列表推导式来实现你想要的功能。所以你可以尝试使用类似下面的代码:

somelist = [a for a in b if not a.criteria in otherlist]

如果你想在Python中提前结束一个循环,可以使用 break,就像在Java中一样。

>>> for x in xrange(1,6):
...     print x
...     if x == 2:
...         break
...
1
2

如果你想提前开始循环的下一次迭代,可以使用 continue,这同样和Java的用法一样。

>>> for x in xrange(1,6):
...     if x == 2:
...         continue
...     print x
...
1
3
4
5

这里有关于 breakcontinue 的文档。 这部分内容还讲到了循环的 else 子句,当你使用 break 时,这些子句是不会被执行的。

58

continuebreak 是你需要的东西。在这方面,Python 和 Java/C++ 的工作方式是一样的。

撰写回答