列表推導(dǎo)式提供了從序列創(chuàng)建列表的簡(jiǎn)單途徑。通常應(yīng)用程序?qū)⒁恍┎僮鲬?yīng)用于某個(gè)序列的每個(gè)元素,用其獲得的結(jié)果作為生成新列表的元素,或者根據(jù)確定的判定條件創(chuàng)建子序列。
每個(gè)列表推導(dǎo)式都在 for 之后跟一個(gè)表達(dá)式,然后有零到多個(gè) for 或 if 子句。返回結(jié)果是一個(gè)根據(jù)表達(dá)從其后的 for 和 if 上下文環(huán)境中生成出來的列表。如果希望表達(dá)式推導(dǎo)出一個(gè)元組,就必須使用括號(hào)。
這里我們將列表中每個(gè)數(shù)值乘三,獲得一個(gè)新的列表:
現(xiàn)在我們玩一點(diǎn)小花樣:
這里我們對(duì)序列里每一個(gè)元素逐個(gè)調(diào)用某方法:
我們可以用 if 子句作為過濾器:
以下是一些關(guān)于循環(huán)和其它技巧的演示:
列表推導(dǎo)式可以使用復(fù)雜表達(dá)式或嵌套函數(shù):