php break 后面是可以带数量,表示跳出的层数,python如何跳出多层循环呢?
以 python3 代码为例,有以下几种方法。
打包函数,使用 return
def sai(): for i in range(10): for j in range(10): if i + j > 13: return i, j
print(sai())
|
将循环逻辑打包成一个单独的函数,满足条件直接 return
变量标记
def flag(): btn = False for i in range(10): for j in range(10): if i + j > 13: btn = True break if btn: break print(i, j)
flag()
|
使用 btn 标记,btn == True 则继续跳出。
for/else
def loop(): for i in range(10): for j in range(10): if i + j > 13: break else: continue break print(i, j)
loop()
|
raise Exception
class Break(Exception): pass
try: for i in range(10): for j in range(10): if i + j > 13: raise Break except Break: print(i, j)
|
总感觉这个方法不太优雅。
以上几种方法就是针对多层循环的跳出,我个人倾向于抽象个函数,当然了,习惯哪种如你所想。
如果有其他好的方式,欢迎分享。