久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

python列表常見操作技巧匯總

 生信修煉手冊 2020-05-01

python的一大特點就是語法簡潔,代碼量少,,除了內(nèi)置函數(shù)和模塊賦予的強大功能外,其豐富的語法糖也是減少代碼量的關(guān)鍵,,本文針對list這一數(shù)據(jù)結(jié)構(gòu),,匯總了常見的操作技巧

1. 遍歷列表

遍歷指的是循環(huán)處理列表中的每一個元素,最基本的遍歷方法就是for in循環(huán)了,,用法如下

a = [1, 2, 3, 4, 5]
for i in a:
print(i)

另外,,針對兩種特殊的遍歷場景,python還提供了簡潔的處理方法,,場景1,,同時遍歷下標(biāo)和對應(yīng)的元素。在其他語言中,,解決思路是通過遍歷下標(biāo),,再通過下標(biāo)獲取對應(yīng)的值,在python中,,通過enumerate函數(shù)可以輕松實現(xiàn)同時獲取下標(biāo)和對應(yīng)的值,,用法如下

for i, v in enumerate(a):
print(i, v)

場景2,同時遍歷兩個list,  在其他語言中同樣也是通過遍歷下標(biāo)來實現(xiàn),,在python中通過zip函數(shù)實現(xiàn),,代碼量更少,用法如下

a = [1, 2, 3]
b = [4, 5, 6]
for x, y in zip(a, b):
print(x, y)

2. 列表的生成

對于列表元素的遍歷,,一個經(jīng)典的使用場景是遍歷一個列表,,對每個元素稍加處理,結(jié)果另存為一個新的列表,,你可能會寫出如下代碼

new =[ ]
for i in old:
new.append(i + 1)

對于上述場景,,python中有更加簡潔的實現(xiàn)方式,,第一種方法稱之為列表生成式,最基本的用法如下

>>> a = [1, 2, 3, 4, 5]
>>> b = [i ** 2 for i in a]
>>> b
[1, 4, 9, 16, 25]

上述代碼遍歷列表a, 求每個元素的乘方,,將結(jié)果存為列表b, 可以看到,,一行代碼就可以搞定。列表生成式還可以更加強大,,比如添加過濾條件,,用法如下

>>> a = [1, 2, 3, 4, 5]
>>> b = [i ** 2 for i in a if i % 2 == 0]
>>> b
[4, 16]

上述代碼同樣是遍歷列表a, 但是只篩選其中的偶數(shù)項來處理,。列表生成式還可以在生成結(jié)果時添加簡單的邏輯判斷,, 用法如下

>>> a = [1, 2, 3, 4, 5]
>>> b = [i ** 2 if i % 2 == 0 else i ** 3 for i in a]
>>> b
[1, 4, 27, 16, 125]

列表生成式支持多層for循環(huán), 用法如下

>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> c = [m * n for m in a for n in b]
>>> c
[4, 5, 6, 8, 10, 12, 12, 15, 18]

列表生成式可以嵌套,,用法如下

>>> c = [[m * n for m in a]for n in b]
>>> c
[[4, 8, 12], [5, 10, 15], [6, 12, 18]]

對于簡單的循環(huán)加邏輯判斷,,用代碼生成式是最佳選擇。

3. 解列表

將列表中的元素賦值給各個變量,,稱之為解列表,,基本用法如下

>>> a, b, c, d = [1, 2, 3, 4]

上述代碼將列表中的元素依次賦值給4個變量,可以看到,,這種寫法在處理個數(shù)較少的列表是比較適用,,如果我們只想要其中的某幾個值,可以用雙下劃線__作為變量名,,對應(yīng)的值就會被丟棄,,用法如下

a, __, __, d = [1, 2, 3, 4]

在此基礎(chǔ)上,還有一種進(jìn)階用法,,稱為星號解壓縮,,基本用法如下

a, *__, d = [1, 2, 3, 4]

星號起到了通配符的作用,可以匹配任意個元素,,上述代碼中的星號匹配中間的2個變量,。

當(dāng)然,對于列表的操作技巧遠(yuǎn)不止這幾種,,這里列出的幾種比較基礎(chǔ),掌握起來比較輕松,。

·end·

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多