- Python+Excel職場辦公數據分析
- 王紅明 張鴻斌編著
- 2397字
- 2021-10-27 15:54:54
2.7 列表
列表(List)是Python中使用最頻繁的數據類型。它由一系列按特定順序排列的元素組成。它的元素可以是字符、數字、字符串甚至可以包含列表(即嵌套)。在Python中,用方括號([])來表示列表,并用逗號(,)來分隔其中的元素。
2.7.1 列表的創建和刪除
1.使用賦值運算符直接創建列表

同Python的變量一樣,創建列表時,可以使用賦值運算符“=”直接將一個列表賦值給變量,如下所示。

代碼中,classmates就是一個列表。列表的名稱通常用各一個復數的名稱。另外,Python對列表中的元素和個數沒有限制,如下所示也是一個合法的列表。

另外,一個列表的元素還可以包含另一個列表,如下所示。

2.創建空列表
在Python中,也可以創建空的列表,如下所示的students即為一個空列表。

3.創建數值列表
在Python中,數值列表很常用。可以使用list()函數直接將range()函數循環出來的結果轉換為列表,如下所示。

上面代碼運行后的結果如下。

4.刪除列表
對于已經創建的列表,可以使用del語句將其刪除,如下所示為刪除之前創建的classmates列表。

2.7.2 訪問列表元素

1.通過指定索引訪問元素
列表中的元素是從0開始索引的,即第1個元素的索引為0,第二個元素的索引為1。如下所示為訪問列表的第一個元素。

上述代碼中classmates[0]表示第1個元素,如果要訪問列表第2個元素,應該將程序第2句修改為“print(classmates[1])”。注意列表的索引從0開始,所以第2個元素的索引就是1,而不是2。如果要訪問列表最后一個元素,可以使用一個特殊語法“print(classmates[-1])”來實現。上述代碼的輸出結果如下。

可以看到輸出了列表的第1個元素,并且不包括方括號和引號。這就是訪問列表元素的方法。
2.通過指定兩個索引訪問元素
如下所示為指定兩個索引作為邊界來訪問元素。

[0:3]說明指定了第1個索引是列表的第1個元素;第2個索引是列表的第4個元素,但第2個索引不包含在切片內,所以輸出了列表的第1~3個元素。
3.只指定第1個索引來訪問元素
如下所示只指定第1個索引作為邊界來訪問元素。

[2:]說明指定了第1個索引是列表的第3個元素;沒有指定第2個索引,那么Python會一直提取到列表末尾的元素,所以輸出了列表的第3~6個元素。
4.只指定第2個索引來訪問元素
如下所示只指定第2個索引作為邊界來訪問元素。

[:4]說明沒有指定第1個索引,那么Python會從頭開始提取;第2個索引是列表的第5個元素(不包含在切片內),所以輸出了列表的第1~4個元素。
5.指定列表倒數元素索引來訪問元素
如下所示只指定列表倒數元素的索引作為邊界來訪問元素。

[-3:]說明指定了第1個索引是列表的倒數第3個元素;沒有指定第2個索引,那么Python會一直提取到列表末尾的元素,所以輸出了列表的最后3個元素。
案例13:畫五彩圓環
在IDLE中創建一個名為“圓環.py”的文件,然后在文件中導入turtle模塊,創建一個顏色的列表,之后遍歷range()生成的一個整數序列,然后每次循環時分別設定畫筆顏色、圓的半徑、畫筆旋轉角度,即可畫出很多圓環,代碼如下。

代碼中“colors[x%4]”的意思是從colors列表中取一個元素(比如red)作為參數。x%4中的%是求余數的符號,x%4的意思是用x除以4得到的余數。如果x的值為5,則求得的余數為1。然后執行colors[1],從列表colors中取第2個元素“yellow”作為畫筆顏色的參數。
運行結果如下。

2.7.3 添加、修改和刪除列表元素

1.添加列表元素
向列表中添加元素可以使用append()函數來實現,如下所示。

輸出結果如下所示。

從輸出結果可以看出,使用append()可以將元素“Mack”添加到列表的末尾。
還可以使用insert()函數向列表中插入元素,如下所示。

上述代碼中“insert()”函數參數中的1表示插到列表的第2個元素,“'Mack '”表示要插入的元素。
另外,還可以使用extend()函數將一個列表添加到另一個列表中,如下所示。

2.修改元素
修改列表中的元素只需通過索引獲得該元素,然后再為其重新賦值即可。如下所示為將列表中的第2個元素修改為“Mack”。

3.刪除元素
刪除元素主要有兩種方法:一種根據索引刪除元素,另一種是根據元素值進行刪除。如下所示為根據索引刪除列表元素。

上述代碼通過del來刪除列表元素,另外,還可以通過pop()函數來刪除列表元素,如下所示。

如下所示為根據元素值刪除列表元素。

2.7.4 對列表進行統計和計算
Python的列表提供了一些內置的函數來實現統計、計算功能。
1.獲取列表的長度
如下所示為通過len()函數來獲得列表的長度(即列表中元素的個數)

len()函數用處是很廣泛的,比如統計網站注冊用戶數、確定游戲被射殺的敵人等。
2.獲取指定元素出現的次數
使用列表對象的count()函數可以獲取指定元素在列表中出現的次數。如下所示。

3.獲取指定元素首次出現的位置
使用列表對象的index()函數可以獲取指定元素在列表中首次出現的位置(即索引)。如下所示。

4.統計數值列表的元素和
使用列表對象的sum函數可以統計數值列表各元素的和。如下所示。

2.7.5 列表的復制
要復制一個列表,可以創建一個包含整個列表的切片,方法是同時省略起始索引和終止索引,即[:]。如下所示。

上述代碼中從列表letters中提取了一個切片,創建了一個列表的副本,再將該副本存儲到變量b中。
注意,這里是創建了一個列表的副本,而不是將letters賦給b(b=letters是賦給)。它們是有區別的。如下所示為復制列表。

上述代碼運行的結果如下。

如下所示為將letters賦給b的情況。

上述代碼運行的結果如下。

2.7.6 遍歷列表
遍歷列表中的所有元素是常用的一種操作,在遍歷的過程中可以完成查詢、處理等功能。
1.使用for循環輸出列表元素
可以使用for循環來遍歷列表,可以依次輸出列表的每個元素。如下所示為遍歷列表。

上述代碼運行后的結果如下所示。

每循環一次輸出一個列表中的元素。
2.輸出列表元素的索引值和元素
可以使用for循環和enumerate()遍歷列表,可以實現同時輸出索引值和元素內容,如下所示為遍歷classmates列表。

上述代碼運行后的結果如下所示。

案例14:分離紅球和藍球
在IDLE中創建一個名為“分球.py”的文件,然后在文件中創建一個紅球和藍球的列表,再定義兩個空列表,接著遍歷紅藍球的列表,判斷遍歷時每個元素是否為紅球,如果是,則加入紅球的列表,如果不是,加入藍球的列表,最后分別輸出存放紅球和藍球的列表,代碼如下。

運行結果如下。

- C++ Primer習題集(第5版)
- Git Version Control Cookbook
- AWS Serverless架構:使用AWS從傳統部署方式向Serverless架構遷移
- Mastering Concurrency in Go
- Getting Started with PowerShell
- 人臉識別原理及算法:動態人臉識別系統研究
- 教孩子學編程:C++入門圖解
- 概率成形編碼調制技術理論及應用
- Responsive Web Design by Example
- Learning Laravel's Eloquent
- C語言程序設計
- App Inventor 2 Essentials
- 深度學習程序設計實戰
- Clojure Polymorphism
- Visual C#(學習筆記)