Python 簡易手冊

單元 40 - 串列方法

串列 (list) 在 Python 中是很常用的資料結構 (data structure) ,也具備很多好用的方法 (method) ,例如以下示範用 append() 替串列附加元素 (element) , insert() 則是插入元素到指定位置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 定義空串列
a = []
# 附加元素
for i in range(5):
    a.append(i)
print(a)
# 插入元素
a.insert(0, 99)
a.insert(2, 100)
print(a)

# 檔名: list_demo5.py
# 說明: 《Python簡易手冊》的範例
# 網址: http://kaiching.org
# 作者: Kaiching Chang
# 時間: 2024 年 3 月

單元 39 - 串列介紹如何定義串列。

append() 只需要一個引數 (argument) ,這個引數就是要加入串列的資料, insert() 則是需要兩個引數,第一個引數為要插入的索引值,第二個引數則是要插入的元素,此例執行結果如下

> python list_demo5.py
[0, 1, 2, 3, 4]
[99, 0, 100, 1, 2, 3, 4]
>

pop() 可以移除串列的最後一個元素,或是移除指定索引值的元素, remove() 也可以移除指定索引值的元素,另外還有 clear() 可以直接移除串列的所有元素,例如

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 定義串列
a = [1, 2, 3, 4, 5]
print(a)

# 移除元素
a.pop()
a.pop(0)
print(a)

# 移除指定元素
a.remove(3)
print(a)

# 清空串列
a.clear()
print(a)

# 檔名: list_demo6.py
# 說明: 《Python簡易手冊》的範例
# 網址: http://kaiching.org
# 作者: Kaiching Chang
# 時間: 2024 年 3 月

此例執行結果如下

> python list_demo6.py
[1, 2, 3, 4, 5]
[2, 3, 4]
[2, 4]
[]
>

如果要拷貝串列中的所有元素成新的串列物件,那可以用 copy() ,例如

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# 定義串列
a = [1, 2, 3, 4, 5]

# 指派串列
b = a
print(a is b)

# 拷貝串列元素
c = a.copy()
print(a is c)

# 拷貝串列元素
d = a[:]
print(a is d)

# 檔名: list_demo7.py
# 說明: 《Python簡易手冊》的範例
# 網址: http://kaiching.org
# 作者: Kaiching Chang
# 時間: 2024 年 3 月

這裡 a.copy()a[:] 的作用類似,都是將 a 的所有元素拷貝一份,此例執行結果如下

> python list_demo7.py
True
False
False
>

這裡需要留意 a.copy()a[:] 的拷貝作用僅在於串列中只有不可變的 (immutable) 資料型態,也就是像整數、字串 (string) 等等的資料,這叫做淺層拷貝。如果串列中包含可變 (mutable) 資料型態需要拷貝成新物件,那就要利用標準程式庫 (standard library) 中的 copy 做深層拷貝。

參考資料

] 上一頁 單元 39 - 串列
回 Python 簡易手冊 首頁
下一頁 單元 41 - 字典
回 Python 教材首頁
回程式語言教材首頁