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 做深層拷貝。