最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python簡潔優(yōu)雅的推導式示例詳解

 更新時間:2021年04月14日 11:27:55   作者:曾親桂林  
這篇文章主要給大家介紹了關于Python簡潔優(yōu)雅的推導式的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

推導式是從一個或者多個迭代器快速創(chuàng)建序列的一種方法。它可以將循環(huán)和條件判斷結合,從而避免冗長的代碼。推導式是典型的 Python 風格

Python語言有一種獨特的推導式語法,相當于語法糖的存在,可以幫助你在某些場合寫出較為精簡酷炫的代碼。但沒有它,也不會有太多影響。Python語言有幾種不同類型的推導式。

1. 列表推導式

列表推導式是一種快速生成列表的方式。其形式是用方括號括起來的一段語句,如下例子所示:

lis = [x * x for x in range(1, 10)]
 
print(lis)

輸出

[1, 4, 9, 16, 25, 36, 49, 64, 81]

列表推導式要這么理解,首先執(zhí)行for循環(huán),對于每一個x,代入x*x中進行運算,將結果逐一添加到一個新列表內(nèi),循環(huán)結束,得到最終列表。它相當于下面的代碼:

lis = []
for i in range(1, 10):
    lis.append(i*i)
    
print(lis)

輸出

[1, 4, 9, 16, 25, 36, 49, 64, 81]

列表推導式為我們提供了一種在一行內(nèi)實現(xiàn)較為復雜邏輯的生成列表的方法。其核心語法是用中括號[]將生成邏輯封裝起來。

列表推導式有多重用法:

增加條件語句

lis = [x * x for x in range(1, 11) if x % 2 == 0]

輸出

[4, 16, 36, 64, 100]

多重循環(huán)

lis = [a + b for a in '123' for b in 'abc']

輸出

['1a', '1b', '1c', '2a', '2b', '2c', '3a', '3b', '3c']

更多用法

dic = {"name": "mumu", "age": "18"}
a = [k+":"+v for k, v in dic.items()]
print(a) # ['name:mumu', 'age:18']

2. 字典推導式

dic = {x: x**2 for x in (2, 4, 6)}
print(dic)
 
print(type(dic))

注意:x: x**2的寫法,中間的冒號,表示左邊的key右邊的value。

輸出:

{2: 4, 4: 16, 6: 36}
<class 'dict'>

3. 集合推導式

a = {x for x in 'abracadabra' if x not in 'abc'}
print(a)
 
print(type(a))

輸出:

{'r', 'd'}
<class 'set'>

4. 元組推導式?

沒有元組推導式。

tup = (x for x in range(9))
print(tup)
print(type(tup))
<generator object <genexpr> at 0x0000013DB865AA40>
<class 'generator'>

要通過類似方法生成元組,需要顯式調(diào)用元組的類型轉(zhuǎn)換函數(shù)tuple(),如下所示:

tup = tuple(x for x in range(9))
print(tup)
print(type(tup))

輸出:

(0, 1, 2, 3, 4, 5, 6, 7, 8)
<class 'tuple'>

總結

到此這篇關于Python簡潔優(yōu)雅的推導式的文章就介紹到這了,更多相關Python推導式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

德江县| 邻水| 长葛市| 积石山| 理塘县| 苍山县| 驻马店市| 玛纳斯县| 建始县| 濮阳市| 永定县| 抚顺市| 邻水| 盘锦市| 中方县| 二手房| 汤阴县| 吉林省| 南澳县| 丹寨县| 邮箱| 永修县| 连州市| 开化县| 郸城县| 图片| 临汾市| 平阴县| 文水县| 崇明县| 含山县| 汝州市| 卓尼县| 余江县| 刚察县| 贡嘎县| 天津市| 柳林县| 木里| 闵行区| 霍州市|