將兩個列表合併為一個新列表是常見操作。本文示範三種做法並說明效能差異。
lista = [1, 2, 3]
listb = [4, 5, 6]
merged = []
for elem in lista:
merged.append(elem)
for elem in listb:
merged.append(elem)
print(merged) # [1, 2, 3, 4, 5, 6]
lista = [1, 2, 3]
listb = [4, 5, 6]
lista.extend(listb)
print(lista) # [1, 2, 3, 4, 5, 6] (原 lista 被修改)
lista = [1, 2, 3]
listb = [4, 5, 6]
merged = lista + listb
print(merged) # [1, 2, 3, 4, 5, 6] (原列表不變)
| 方法 | 是否修改原列表 | 建立新物件 | 適用場景 |
|---|---|---|---|
| append 迴圈 | 否 | 是 | 教學、需自訂邏輯時 |
| extend | 是 | 否 | 大量資料合併、記憶體敏感 |
| + 運算子 | 否 | 是 | 函數式風格、需保留原列表 |
from itertools import chain
merged = list(chain(lista, listb)) # 惰性迭代,記憶體效率佳
實務上推薦 extend(就地)或 +(新列表);append 迴圈僅適合教學示範或需插入額外邏輯時使用。