本文介绍了打破两个循环的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否有可能在Python中跳出两个 for 循环?
ie
对于范围(1,100)中的i:
对于范围内的j(1,100):
break所有循环!
解决方案
不,没有嵌套 break
在python中的语句。
相反,你可以简化你的函数,像这样:
$ b $ ($($))$ b $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ / code>
..或者将代码放到它自己的函数中,并使用 return
def _helper():$ b $范围(1,100):
返回
_helper()
一个例外:
$ $ p $ class BreakAllTheLoops(BaseException):pass
try:
for i in range(1,100 ):
在范围内(1,100):
提高BreakAllTheLoops()
除了BreakAllTheLoops:
传递
..或使用for-else-continue:
范围(1,100):j
在范围内(1,10 0):
break
else:
continue
break
..或使用一个标记变量:
exitFlag = False
在范围内(1,100):
for j in range(1,100):
exitFlag = True
break
如果exitFlag:
break
is it possible to break out of two for loops in Python?
i.e.
for i in range(1,100):
for j in range(1,100):
break ALL the loops!
解决方案
No, there is no nested break
statement in python.
Instead, you can simplify your function, like this:
import itertools
for i,j in itertools.product(range(1, 100), repeat=2):
break
.. or put the code into its own function, and use return
:
def _helper():
for i in range(1,100):
for j in range(1,100):
return
_helper()
.. or use an exception:
class BreakAllTheLoops(BaseException): pass
try:
for i in range(1,100):
for j in range(1,100):
raise BreakAllTheLoops()
except BreakAllTheLoops:
pass
.. or use for-else-continue:
for i in range(1,100):
for j in range(1,100):
break
else:
continue
break
.. or use a flag variable:
exitFlag = False
for i in range(1,100):
for j in range(1,100):
exitFlag = True
break
if exitFlag:
break
这篇关于打破两个循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!