python-推導(dǎo)式

推導(dǎo)式comprehension(又稱解析式),是python的一種獨有特性。推導(dǎo)式是從一個數(shù)據(jù)序列構(gòu)建另外一個數(shù)據(jù)序列結(jié)構(gòu)體。共有三種推導(dǎo)。

  • 字典推導(dǎo)式
  • 列表推導(dǎo)式
  • 集合推導(dǎo)式

【列表推導(dǎo)式】

列表推導(dǎo)是能夠非常簡潔的構(gòu)造一個新列表:只用一個非常簡潔的表達(dá)式即可對得到的元素進(jìn)行變形。

其基本格式如下:

[expr for value in collection if condition]

過濾條件可有可無,取決于實際應(yīng)用,只留下表達(dá)式,相當(dāng)于下面的for循環(huán):

tui1.png

以下為例可以更加了解列表推導(dǎo)式

將names 列表中字符長度小于3的過濾掉并將名字轉(zhuǎn)換為大寫

tui2.png

【字典推導(dǎo)式】

字典推導(dǎo)式思路列表推導(dǎo)式相似,只不過產(chǎn)生的是字典而已,其基本的表達(dá)形式如下:

{key_expr : value_expr for value in collections if condition}

例題

以列表內(nèi)字符以及字符長度建立一個字典

tui3.png

【集合推導(dǎo)式】

集合推導(dǎo)式與字典推導(dǎo)式表達(dá)式相同,只不過是外圍符號由[]變成大括號{}

{expr for value in collection if condition}

例子 用集合推導(dǎo)建字符串長度的集合

tui4.png

【嵌套列表推導(dǎo)式】

嵌套列表是指列表中嵌套有列表如下圖

tui5.png

例子:提取含有分表含有兩個列表中名字中含有‘e'多于2個的名字

tui6.png

使用推導(dǎo)式的語句如下:

tui7.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容