Python 資料型別 - 列表
Jinku Hu
2023年1月30日
本節來介紹 Python 列表,包含了列表索引、列表切片、附加或擴充套件列表等內容。
Python 建立列表
你可以通過使用方括號 []
來建立列表。列表中的元素列在方括號內,並用逗號,
分隔開。列表中的元素可以是不同的資料型別。
l = [] # 空列表
l = [2, 4, 6, 8] # 列表元素資料型別一致
l = [2, "Python", 1 + 2j] # 元素資料型別不同
你也可以建立一個巢狀列表,即列表中的元素為列表。
l = [[2, 4, 5], "python"]
訪問列表元素
以下是你可以訪問列表元素的一些方式:
列表索引
你可以使用索引來訪問列表的元素,列表的索引從 0 開始。
>>> x = [2, 4, 6, 8, 10]
>>> print('x[0] =', x[0]) # 顯示第一個元素
x[0] = 2
>>> print('x[0:2] =', x[0:2]) # 顯示位於位置 0 和 1 的列表的前兩個元素
x[0:2] = [2, 4]
>>> print('x[2:] =', x[2:]) # 顯示位置 2 的元素(第三個元素)
x[2:] = [6, 8, 10]
列表中的元素可以被修改(更新、刪除、新增),因為列表是可變型別的。如果索引超出列表索引範圍,則會出現 IndexError
。
Warning
索引必須是一個整數,否則會出現
TypeError
。負索引
Python 允許使用負索引來訪問列表中的元素。例如,索引 -1
指的是最後一個元素。同樣,索引 -2
指的是倒數第二項。
>>> l = [2, 4, 6, 8, 10]
>>> print(l[-1])
10
>>> print(l[-2])
8
>>> print(l[-3])
6
Python 列表切片
切片運算子:
用於從列表中提取一系列元素。
>>> l = [2, 4, 6, 8, 10]
>>> print(l[1:3]) # 列印從位置 1 到位置 3(不含 3)的元素
[4, 6]
>>> print(l[:2]) # 列印從開始到位置 2(不含 2)的元素
[2, 4]
>>> print(l[2:]) # 列印從位置 2(包含 2)開始的元素
[6, 8, 10]
>>> print(l[:]) # 列印整個列表
[2, 4, 6, 8, 10]
向列表增加元素
apend()
方法
你可以使用列表方法 append()
將一個元素追加到列表的末尾。
>>> l = [1, 3, 5, 7, 9, 11]
>>> l.append(13)
>>> print(l)
[1, 3, 5, 7, 9, 11, 13]
extend()
方法
append(x)
將 x
作為一個元素追加到列表中。extend(x)
將給定資料物件 x
中的所有元素來都新增到列表中。
>>> l = [1, 3, 5, 7, 9, 11]
>>> l.append([13, 14, 15])
>>> print(l)
[1, 3, 5, 7, 9, 11, [13, 14, 15]] # 列表 [13, 14, 15]作為一個元素追加到列表 l 中
>>> l.extend([13, 14, 15])
>>> print(l)
[1, 3, 5, 7, 9, 11, 13, 14, 15]
+
操作符
除了 extend()
方法,你還可以通過+
操作符來連線兩個列表。
>>> l = [2, 4, 6, 8, 10]
>>> print(l + [12, 14, 16])
[2, 4, 6, 8, 10, 12, 14, 16]
insert(i, x)
你可以使用 insert(i, x)
方法將元素 x
插入到列表索引位置 i
上。
>>> l = [2, 4, 6, 8, 10]
>>> l.insert(2, 0)
>>> print(l)
[2, 4, 0, 6, 8, 10]
從列表中刪除元素
del
語句從列表中刪除一個或多個元素。你也可以使用 del
刪除整個列表:
>>> l = [2, 4, 6, 8, 10]
>>> del l[4]
>>> print(l)
[2, 4, 6, 8]
>>> del l[0:2]
>>> print(l)
[6, 8]
>>> del l
>>> print(l)
Traceback (most recent call last):
print(l)
NameError: name 'l' is not defined
在列表被 del
刪除後,在程式中繼續引用這個列表 l
將會收到報錯。如果你想清除一個列表,那麼你也可以使用 clear()
方法。
列表方法
下表列出了具體的列表方法:
列表方法 | 描述 |
---|---|
append() |
將一個元素新增到列表的末尾 |
extend() |
將多個元素新增到列表中。將一個列表中的所有元素新增到另一個列表中 |
insert() |
在所需位置新增一個元素 |
remove() |
從列表中刪除特定元素 |
pop() |
刪除列表中索引位置為 index 的元素,並返回該元素 |
clear() |
從列表中刪除所有元素 |
index() |
返回列表中第一個匹配元素的索引 |
count() |
返回列表中給定引數的數量 |
sort() |
按升序排序列表中的元素 |
reverse() |
顛倒列表元素的順序 |
copy() |
返回一個已經存在的列表的拷貝 |
列表成員檢查
Python in
關鍵字用來檢查給定元素是否是列表的成員。
>>> l = [2, 4, 6, 8, 10]
>>> print(5 in l)
False
>>> print(2 in l)
True
Python 遍歷列表元素
你可以使用 for
迴圈來遍歷一個列表。
l = [2, 4, 6, 8, 10]
for i in l:
print(i)
2
4
6
8
10
適用於列表的內建函式
下表是適用於列表的一些可以來執行不同任務的內建函式的集合:
內建函式 | 描述 |
---|---|
all() |
當列表中的所有元素都為 True 時返回 True 。當列表為空時,它也返回 True |
any() |
當列表中的任何元素為 True 時返回 True 。當列表為空時,它返回 False |
enumerate() |
將列表的所有元素的索引和值作為元組返回。它返回一個列舉 物件 |
len() |
返回列表中專案的數量或列表的長度 |
list() |
將序列(元組,字串,字典)轉換為列表 |
max() |
返回列表中的最大數字 |
min() |
返回列表中的最小數字 |
sorted() |
返回一個排序列表 |
sum() |
返回列表中所有元素的總和 |