python中怎样在多层循环间灵活的跳转?
高洛峰
高洛峰 2016-10-22 16:45:00
0
1
701
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

除了以上写法,还有什么好的写法呢?多谢您的回复!

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(1)
三叔

你這個例子似乎可以考慮減少循環即可:

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート