如何在Python中使用break跳出多層迴圈?

時間 2021-05-07 03:26:24

1樓:浮生若夢

我覺得這裡if和else它確實不在同一級,這樣也不會錯,因為這裡應該還是會知道else是跟著前面的if的,只是迴圈裡面執行完了if肯定就不會執行else了(不管else屬於哪一層級)(唉純屬個人見解,我也才學Python遇到這個問題,有問題請大家糾正)

2樓:「已登出」

今天搜到這個問題是因為寫乙個解析日誌的類,因為要迴圈列表,然後發現巢狀越來越深,後來改成黑名單形式去寫就好了,即:

for l in lst:

if conditiondo_thing()改成forlin

lst:

ifnot

condition

:continue

do_thing

()就好了

3樓:Coldwings

我又有些忍不住要說了……你們學python是從來不看官方文件,只是跟著某某某中文教程一路擼下去的麼?

Python的迴圈體自己就有else分支!

Python的迴圈體自己就有else分支!

Python的迴圈體自己就有else分支!

不只是if有,while和for都有else分支。迴圈體的else分支觸發條件是迴圈正常結束。如果迴圈內被break跳出,就不執行else。

所以這個邏輯是:如果迴圈內break了,不觸發else,則執行下一句外層迴圈中的break;如果正常結束,執行else分支裡的continue,直接跳轉到外層迴圈的下一輪,跳過了第二個break。

不過這寫法真尼瑪醜啊……搞個布林量會死麼……————————

其實感覺比較正確的姿勢應該是拿個函式包起來然後用return……

在 Python 中使用 kqueue 是否有好的例子

孫竟 可以讀讀 Tornado 的原始碼 tornadoweb.org documentation modules tornado ioloop.html KQueue 類和最後面如何選擇 epoll 或 kqueue。 侯興盛 自己寫了乙個拋磚引玉,請高手指點 import socket,sele...

如何在 XeLaTeX 中使中英文使用相同的字型?

方銘 分別設定中英文本型,然後定義乙個命令同時切換中英文本型。以宋體字為例 usepackage usepackage newfontfamily ensong setCJKfamilyfont newcommand 假設你要將標題改為 Consolas,它在系統中的名字是 consola.ttf。...

如何在 Microsoft Office 中使用 Roboto 字型的不同字重?

Belleve 這種一般是去改 name 表,把舊式 Family 拆分。因為根據 SFNT 規範,舊式的 Style 只有 Regular Bold Italic BoldItalic 四種可選 Preferred Family 要多得多 超過的通過 Family 選不出來。 這種坑之前在別的軟體...