1. 程式人生 > >python的for else語句

python的for else語句

table padding container 部分 sta cell 編程語言 fun pad

Python循環中的else語句

絕大部分編程語言中都有條件判斷語句,比如 if … else ,在大部語言中,else 一般只在條件判斷語句中出現,與 if 語句配套出現,不過在 Python 中,else 除了能與 if 這樣的條件判斷一起出現外,還能出現在 for、while 這樣的循環語句中。

我們來看一個例子:

1 2 3 4 5 6 7 8 9 10 s = ["a111", "b222", "c333", "d444", "e555"] found = False for c in s: if c.startswith("c"): found
= True print u"發現以字母c開頭的項" break if not found: print u"沒有發現以字母c開頭的項"

做一次循環,如果發現滿足條件的字母則打印出提示信息,循環完了還沒有發現則打印出另一條信息。我們需要設置一個額外的變量來記錄是否找到了目標字符(程序中的 found 變量),在循環完成之後再做一個 if 判斷。

上面的寫法當然是可以的,不過如果我們使用循環中的 else 語句的話,代碼會更簡潔清晰。比如:

1 2 3 4 5 6 7 s = ["a111", "b222", "c333"
, "d444", "e555"] for c in s: if c.startswith("c"): print u"發現以字母c開頭的項" break else: print u"沒有發現以字母c開頭的項"

在這兒,記錄是否找到的額外的變量不需要了,也不再需要在循環完成後再進行 if 判斷,但達到的效果和第一段代碼是一樣的。

在 python 中,for … else 表示這樣的意思,for 中的語句和普通的沒有區別,else 中的語句會在循環正常執行完(即 for 不是通過 break 跳出而中斷的)的情況下執行,while … else 也是一樣

如果使用continue替換break,效果則是:else裏的語句肯定會被執行,有些場合也是一個有意思的用法

python的for else語句