search

Home  >  Q&A  >  body text

python中怎样在多层循环间灵活的跳转?

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

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

高洛峰高洛峰3064 days ago689

reply all(1)I'll reply

  • 三叔

    三叔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

    reply
    0
  • Cancelreply