Python跳出多重循環(huán)的方法示例
方法1:自定義異常
# -*- coding:utf-8 -*- """ 功能:python跳出循環(huán) """ # 方法1:自定義異常 class Getoutofloop(Exception): pass try: for i in range(5): for j in range(5): if i == j == 2: raise Getoutofloop() else: print i, '----', j except Getoutofloop: pass
方法2:將循環(huán)封裝為函數(shù),return
# -*- coding:utf-8 -*- """ 功能:python跳出循環(huán) """ # 方法2:封裝為函數(shù),return def test(): for i in range(5): for j in range(5): if i == j == 2: return else: print i, '----', j test()
方法3:用for...else...語(yǔ)句
# -*- coding:utf-8 -*- """ 功能:python跳出循環(huán) """ # 方法2:for...else...用法,用于跳出指定循環(huán)層 for i in range(5): for j in range(5): for k in range(5): if i == j == k == 3: break else: print i, '----', j, '----', k else: # else1 continue break # break1 else: # else2 continue break # break2
方法3解釋?zhuān)?br /> (1)break能跳出某一重循環(huán)(該重循環(huán)的本次及剩余次數(shù)都不再執(zhí)行),但并不能跳出該重循環(huán)的其他外重循環(huán)。
例如,最內(nèi)第3重循環(huán)break之后,程序返回第2重循環(huán)繼續(xù)執(zhí)行第2重的下一次,然后第3重循環(huán)將再次執(zhí)行。
(2)continue是跳過(guò)某一重循環(huán)的某一次,但該重循環(huán)的剩余次數(shù)會(huì)繼續(xù)執(zhí)行。
(3)for...else:其中else塊中的語(yǔ)句將在for循環(huán)完整執(zhí)行過(guò)之后才會(huì)被執(zhí)行,如果for循環(huán)被break,則else塊將不會(huì)被執(zhí)行。
(4)方法3中,當(dāng)?shù)?重循環(huán)滿(mǎn)足i == j == k ==3時(shí),第3重循環(huán)被break,則并列的else1將跳過(guò),執(zhí)行break1,導(dǎo)致第2重循環(huán)
被終止,則else2被跳過(guò),執(zhí)行break2,導(dǎo)致第1重循環(huán)被終止。
最終實(shí)現(xiàn)跳出整個(gè)循環(huán)。
for...else加break舉例:
# -*- coding:utf-8 -*- """ 功能:for...else語(yǔ)句 """ for i in range(5): print i else: print u"循環(huán)完整執(zhí)行一次。" for j in range(6): for k in range(6): print j, k if j == 3: print u"內(nèi)重循環(huán)即將被break" break else: print u"內(nèi)重循環(huán)完整執(zhí)行一次。" else: print u"外重循環(huán)完整執(zhí)行一次。"
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于Python實(shí)現(xiàn)迪杰斯特拉和弗洛伊德算法
這篇文章主要為大家詳細(xì)介紹了基于Python實(shí)現(xiàn)迪杰斯特拉和弗洛伊德算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01tensorboard實(shí)現(xiàn)同時(shí)顯示訓(xùn)練曲線(xiàn)和測(cè)試曲線(xiàn)
今天小編就為大家分享一篇tensorboard實(shí)現(xiàn)同時(shí)顯示訓(xùn)練曲線(xiàn)和測(cè)試曲線(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Python 實(shí)現(xiàn)靜態(tài)鏈表案例詳解
這篇文章主要介紹了Python 實(shí)現(xiàn)靜態(tài)鏈表案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09Py之pycocotools庫(kù)的簡(jiǎn)介、安裝、使用方法及說(shuō)明
這篇文章主要介紹了Py之pycocotools庫(kù)的簡(jiǎn)介、安裝、使用方法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Pandas中Series的創(chuàng)建及數(shù)據(jù)類(lèi)型轉(zhuǎn)換
這篇文章主要介紹了Pandas中Series的創(chuàng)建及數(shù)據(jù)類(lèi)型轉(zhuǎn)換,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08Pandas?多進(jìn)程處理數(shù)據(jù)提高速度
這篇文章主要介紹了Pandas?多進(jìn)程處理數(shù)據(jù)提高速度,Pandas多進(jìn)程的方法,pandarallel?庫(kù),下面具體的測(cè)試方法,需要的朋友可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-04-04解析PyCharm Python運(yùn)行權(quán)限問(wèn)題
這篇文章主要介紹了PyCharm Python運(yùn)行權(quán)限問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01