isbreak=False for i in ['a','b','c']: for ii in range(5): print i,ii if ii==2: print 'ii=2时,内层循环break,同时外层循环break' isbreak=True break if isbreak: isbreak=False break
除了以上写法,还有什么好的写法呢?多谢您的回复!
三叔2016-10-22 16:45:44
你這個例子似乎可以考慮減少循環即可:
import itertools lst = ['a', 'b', 'c'] for i, ii in itertools.product(lst, range(5)): print i, ii if ii==2: break
真要說這種一次跳出多層 loop 的辦法有一個, 利用 exception:
class Found(Exception): pass try: for lst2 in lst1: for lst3 in lst2: for item in lst3: if item=='good': raise Found except Found: pass
我回答過的問題: Python-QA