Python 提前退出循环
在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
continue
和 break
的用法和其他编程语言一样,唯一的不同是你不能像在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
这里有关于 break
和 continue
的文档。 这部分内容还讲到了循环的 else
子句,当你使用 break
时,这些子句是不会被执行的。
58
continue
和 break
是你需要的东西。在这方面,Python 和 Java/C++ 的工作方式是一样的。