Python早期离开循环

时间:2010-02-02 13:23:47

标签: python loops

如何在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 个答案:

答案 0 :(得分:50)

continuebreak就是您想要的。在这方面,Python与Java / C ++的工作方式完全相同。

答案 1 :(得分:17)

首先,请记住,有可能通过列表理解来执行您想要的操作。所以你可以使用类似的东西:

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

Here's the documentation for break and continue.这也涵盖了else for循环的子句,这些子句在break时不会运行。

答案 2 :(得分:5)

continuebreak的工作方式与其他编程语言完全相同,只是您不能break到标签(例如,在Java中)。这意味着你一次只能打破一个循环。

答案 3 :(得分:2)

查看breakcontinue