欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中斷多重循環(huán)的思路總結(jié)

 更新時(shí)間:2019年10月04日 15:00:29   作者:愛(ài)喝馬黛茶的安東尼  
在本文里小編給大家整理的是關(guān)于Python中斷多重循環(huán)的思路以及相關(guān)知識(shí)點(diǎn),有需要的朋友們可以學(xué)習(xí)下。

I. 跳出單循環(huán)

不管是什么編程語(yǔ)言,都有可能會(huì)有跳出循環(huán)的需求,比如枚舉時(shí),找到一個(gè)滿足條件的數(shù)就終止。跳出單循環(huán)是很簡(jiǎn)單的,比如:

for i in range(10):

  if i > 5:

    print i

    break

然而,我們有時(shí)候會(huì)需要跳出多重循環(huán),而break只能夠跳出一層循環(huán),比如:

for i in range(10):

  for j in range(10):

    if i+j > 5:

      print i,j

      break

這樣的代碼并非說(shuō)找到一組 i+j > 5就停止,而是連續(xù)找到10組,因?yàn)閎reak只跳出了for j in range(10)這一重循環(huán)。那么,怎么才能跳出多重呢?在此記錄備忘一下。

II. 跳出多重循環(huán)

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

當(dāng)然最常用的思路是使用變量標(biāo)記法

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

寫(xiě)成函數(shù)

在Python中,函數(shù)運(yùn)行到return這一句就會(huì)停止,因此可以利用這一特性,將功能寫(xiě)成函數(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)改寫(xiě)為單循環(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

利用調(diào)試模式

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

class Found(Exception):

  pass

try:

  for i in range(10):

    for j in range(i): #第二重循環(huán)跟第一重有關(guān)

      if i + j > 5:

        raise Found

except Found:

  print i, j

以上就是盤點(diǎn)Python中斷多重循環(huán)的思路的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Flask進(jìn)階之構(gòu)建RESTful?API和數(shù)據(jù)庫(kù)交互操作

    Flask進(jìn)階之構(gòu)建RESTful?API和數(shù)據(jù)庫(kù)交互操作

    這篇文章主要為大家介紹了Flask進(jìn)階之構(gòu)建RESTful API和數(shù)據(jù)庫(kù)交互操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Tortoise-orm信號(hào)實(shí)現(xiàn)及使用場(chǎng)景源碼詳解

    Tortoise-orm信號(hào)實(shí)現(xiàn)及使用場(chǎng)景源碼詳解

    這篇文章主要為大家介紹了Tortoise-orm信號(hào)實(shí)現(xiàn)及使用場(chǎng)景源碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • PyTorch中torch.tensor與torch.Tensor的區(qū)別詳解

    PyTorch中torch.tensor與torch.Tensor的區(qū)別詳解

    這篇文章主要介紹了PyTorch中torch.tensor與torch.Tensor的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Python中字典創(chuàng)建、遍歷、添加等實(shí)用操作技巧合集

    Python中字典創(chuàng)建、遍歷、添加等實(shí)用操作技巧合集

    這篇文章主要介紹了Python中字典創(chuàng)建、遍歷、添加等實(shí)用操作技巧合集,本文講解了字典中常見(jiàn)方法列表、創(chuàng)建字典的五種方法、字典中鍵值遍歷方法等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • Python face_recognition實(shí)現(xiàn)AI識(shí)別圖片中的人物

    Python face_recognition實(shí)現(xiàn)AI識(shí)別圖片中的人物

    最近碰到了照片識(shí)別的場(chǎng)景,正好使用了face_recognition項(xiàng)目,給大家分享分享。face_recognition項(xiàng)目能做的很多,人臉檢測(cè)功能也是有的,是一個(gè)比較成熟的項(xiàng)目。感興趣的可以了解一下
    2022-01-01
  • pytorch 刪除空權(quán)重模型文件夾的方法

    pytorch 刪除空權(quán)重模型文件夾的方法

    如果文件夾exp開(kāi)頭的文件夾,里面沒(méi)有pt pth模型文件,就把目錄刪掉,本文通過(guò)示例代碼介紹pytorch 刪除空權(quán)重模型文件夾的方法,感興趣的朋友一起看看吧
    2023-11-11
  • 使用pyinstaller逆向.pyc文件

    使用pyinstaller逆向.pyc文件

    這篇文章主要介紹了使用pyinstaller逆向.pyc文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 在python中利用opencv簡(jiǎn)單做圖片比對(duì)的方法

    在python中利用opencv簡(jiǎn)單做圖片比對(duì)的方法

    今天小編就為大家分享一篇在python中利用opencv簡(jiǎn)單做圖片比對(duì)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Python常駐任務(wù)實(shí)現(xiàn)接收外界參數(shù)代碼解析

    Python常駐任務(wù)實(shí)現(xiàn)接收外界參數(shù)代碼解析

    這篇文章主要介紹了Python常駐任務(wù)實(shí)現(xiàn)接收外界參數(shù)代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Python中@property的理解和使用示例

    Python中@property的理解和使用示例

    這篇文章主要介紹了Python中@property的理解和使用,結(jié)合實(shí)例形式分析了Python中@property的功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-06-06

最新評(píng)論