91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何跳出多重循環

發布時間:2022-03-31 13:39:15 來源:億速云 閱讀:3523 作者:小新 欄目:編程語言

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

跳出多重循環

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

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

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()

寫成函數

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

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

利用笛卡爾積

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

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

利用調試模式

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

class Found(Exception):
  pass

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

以上是“python如何跳出多重循環”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

日土县| 阿鲁科尔沁旗| 峨眉山市| 阳城县| 鹿邑县| 大田县| 永安市| 共和县| 得荣县| 星座| 鄄城县| 盐池县| 明溪县| 银川市| 柳河县| 瓮安县| 福泉市| 错那县| 福安市| 宜都市| 麻江县| 紫金县| 庆云县| 曲靖市| 寿宁县| 磴口县| 海林市| 邢台市| 大连市| 奉新县| 化州市| 朝阳县| 聂荣县| 新兴县| 凤阳县| 昌邑市| 康保县| 沈阳市| 乌拉特后旗| 鄂温| 新干县|