真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

python如何跳出多重循環(huán)

小編給大家分享一下python如何跳出多重循環(huán),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司是一家集網站建設,無為企業(yè)網站建設,無為品牌網站建設,網站定制,無為網站建設報價,網絡營銷,網絡優(yōu)化,無為網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。

跳出多重循環(huán)

事實上,Python的標準語法是不支持跳出多重循環(huán)的,所以只能利用一些技巧,大概的思路有:寫成函數(shù)、利用笛卡爾積、利用調試。

當然最常用的思路是使用變量標記法

def f():
  flag = 0
  for i in range(10):
    for j in range(i):
      if i+j>5:
        print i,j
        flag = 1
        break
    if flag == 1:
      break

if __name__ == "__main__":
  f()

寫成函數(shù)

在Python中,函數(shù)運行到return這一句就會停止,因此可以利用這一特性,將功能寫成函數(shù),終止多重循環(huán),例如

def work():
  for i in range(10):
    for j in range(10):
      if i+j > 5:
        return i,j
print work()

利用笛卡爾積

這種方法的思路就是,既然可以跳出單循環(huán),我就將多重循環(huán)改寫為單循環(huán),這可以利用itertools中的笛卡爾積函數(shù)product,例如

from itertools import product
for i,j in product(range(10), range(10)):
  if i+j > 5:
    print i,j
    break

利用調試模式

笛卡爾積的方式很巧妙,也很簡潔,但它只能用于每次循環(huán)的集合都是獨立的情形,假如每層循環(huán)都與前一層緊密相關,就不能用這種技巧了。這時候可以用第一種方法,將它寫成函數(shù),另外,還可以利用調試模式。這個利用了調試模式中,只要出現(xiàn)報錯就退出的原理,它偽裝了一個錯誤出來。

class Found(Exception):
  pass

try:
  for i in range(10):
    for j in range(i): #第二重循環(huán)跟第一重有關
      if i + j > 5:
        raise Found
except Found:
  print i, j

以上是“python如何跳出多重循環(huán)”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網站標題:python如何跳出多重循環(huán)
當前路徑:http://weahome.cn/article/iedpjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部