自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

必知必會的8個Python列表技巧

開發(fā) 后端
列表(List)是你使用Python過程中接觸最為頻繁的數(shù)據(jù)結(jié)構(gòu),也是功能最為強大的幾種數(shù)據(jù)結(jié)構(gòu)之一。Python列表非常的萬能且蘊含著許多隱藏技巧,下面我們就來探索一些常用的列表技巧。

列表(List)是你使用Python過程中接觸最為頻繁的數(shù)據(jù)結(jié)構(gòu),也是功能最為強大的幾種數(shù)據(jù)結(jié)構(gòu)之一。Python列表非常的萬能且蘊含著許多隱藏技巧,下面我們就來探索一些常用的列表技巧。

[[338904]]

一、列表元素的過濾

1. filter()的使用

filter()函數(shù)接受2個參數(shù):1個函數(shù)對象以及1個可迭代的對象,接下來我們定義1個函數(shù)然后對1個列表進行過濾。

首先我們創(chuàng)建1個列表,并且剔除掉小于等于3的元素:

必知必會的8個Python列表技巧

圖1​

回顧一下發(fā)生了什么:

我們定義了列表original_list接著我們定義了一個接受數(shù)值型參數(shù)number的函數(shù)filter_three,當傳入的參數(shù)值大于3時會返回True,反之則會返回False我們定義了filter對象filtered,其中filter()接受的第一個參數(shù)是函數(shù)對象,第二個參數(shù)是列表對象最終我們將filter對象轉(zhuǎn)化為列表,最終得到經(jīng)filter_three過濾后original_list內(nèi)留下的元素。

1.2 使用列表推導式

類似的,我們也可以利用列表推導式來過濾列表元素,作為一種生成和修改列表優(yōu)雅的方式,列表推導式想必大家都比較熟悉了,下面是使用列表推導完成同樣任務的過程:

必知必會的8個Python列表技巧

圖2​

二、修改列表

1. map()的使用

Python中內(nèi)置的map()函數(shù)使得我們可以將某個函數(shù)應用到可迭代對象內(nèi)每一個元素之上。

比方說我們想獲取到一個列表對象中每一個元素的平方,就可以使用到map()函數(shù),就像下面的例子一樣:

必知必會的8個Python列表技巧

圖3​

類似filter()的工作過程,下面我們來看看發(fā)生了什么:

首先我們定義了列表original_list,以及接受數(shù)值型參數(shù)并返回其平方值的函數(shù)square()接著我們定義了map對象squares,類似filter(),map()接受的第一個參數(shù)是函數(shù)對象,第二個參數(shù)是列表對象最終我們將map對象squares列表化,就得到了想要的結(jié)果

2. 使用列表推導式

同樣的我們也可以使用列表推導式完成同樣的任務:

 

必知必會的8個Python列表技巧

 

 

圖4​

 

三、利用zip()來組合列表

有些情況下我們需要將兩個或以上數(shù)量的列表組合在一起,這類需求使用zip()來完成非常方便。

zip()函數(shù)接收多個列表作為參數(shù)傳入,進而得到每個位置上一一對應的元素組合,就像下面的例子一樣:

必知必會的8個Python列表技巧

圖5​

四、顛倒列表

Python中的列表是有序的數(shù)據(jù)結(jié)構(gòu),正因如此,列表中元素的順序很重要,有些時候我們需要翻轉(zhuǎn)列表中所有元素的順序,可以通過Python中的切片操作,用::-1來快捷地實現(xiàn):

必知必會的8個Python列表技巧

圖6​

五、檢查列表中元素的存在情況

有些情況下我們想要檢查列表中是否存在某個元素,這種時候就可以使用到Python中的in運算符,譬如說我們有一個記錄了所有比賽獲勝隊伍名稱的列表,當我們想查詢某個隊名是否已獲勝時,可以像下面的例子一樣:

必知必會的8個Python列表技巧

圖7​

六、找出列表中出現(xiàn)次數(shù)最多的元素

有些情況下我們想要找出列表中出現(xiàn)次數(shù)最多的元素,譬如對記錄若干次拋硬幣結(jié)果的列表,找出哪一種結(jié)果出現(xiàn)次數(shù)最多,就可以參考下面的例子:

必知必會的8個Python列表技巧

圖8​

七、展平嵌套列表

有些情況下我們會遇到一些嵌套的列表,其每個元素又是各自不同的列表,這種時候我們就可以利用列表推導式來把這種嵌套列表展平,如下面2層嵌套的例子:

必知必會的8個Python列表技巧

圖9​

額外補充:

原作者這里只考慮到兩層嵌套的列表,如果是更多層嵌套,就需要有多少層寫多少for循環(huán),比較麻煩,其實還有一種更好的方法,我們可以使用pip install dm-tree來安裝tree這個專門用于展平嵌套結(jié)構(gòu)的庫,可以展平任意層嵌套列表,使用例子如下:

必知必會的8個Python列表技巧

圖10​

八、檢查唯一性

如果你想要查看列表中的值是否都是唯一值,可以使用Python中的set數(shù)據(jù)結(jié)構(gòu)的特點,譬如下面的例子:

必知必會的8個Python列表技巧

圖11​

【責任編輯:趙寧寧 TEL:(010)68476606

 

責任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2023-05-08 15:25:19

Python編程語言編碼技巧

2023-04-20 14:31:20

Python開發(fā)教程

2024-01-10 18:01:22

編程技巧Java 12

2018-10-26 14:10:21

2017-12-04 09:39:41

瀏覽器Chrome小技巧

2020-07-10 07:58:14

Linux

2024-08-22 08:57:32

Python技巧參數(shù)

2024-11-15 11:11:48

2021-03-03 10:39:11

容器微服務IT

2024-01-03 07:56:50

2022-09-28 08:40:04

殺死一個終端進程

2024-01-23 18:49:38

SQL聚合函數(shù)數(shù)據(jù)分析

2011-11-08 15:39:39

網(wǎng)頁設(shè)計

2022-05-18 09:01:19

JSONJavaScript

2019-11-06 10:56:59

Python數(shù)據(jù)分析TGI

2023-09-20 22:52:12

Kubernetes快捷方式

2017-07-12 15:32:12

大數(shù)據(jù)大數(shù)據(jù)技術(shù)Python

2019-07-05 07:49:19

TCPIP網(wǎng)絡(luò)協(xié)議

2022-04-15 09:23:29

Kubernetes面試題

2023-12-26 12:10:13

點贊
收藏

51CTO技術(shù)棧公眾號