流程控制语句 - python中怎样在多层循环间灵活的跳转?
高洛峰
高洛峰 2017-04-18 09:46:27
0
2
392
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教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆 (2)
黄舟

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

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

    伊谢尔伦

    另種寫法,使用for...else...

    for i in ['a','b','c']: for ii in range(5): print i,ii if ii==2: print 'ii=2时,内层循环break,同时外层循环break' break else: continue break
      最新下載
      更多>
      網站特效
      網站源碼
      網站素材
      前端模板
      關於我們 免責聲明 Sitemap
      PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!