如何在 Python 中合併兩個清單(連接和擴充)

了解在 Python 中合併和組合兩個清單的最佳方法。比較加號運算子、擴充方法、清單解包和鏈結選項。

在編輯器中嘗試此解決方案

概述

在聚合結果、處理大量資料或將項目附加到集合時,組合清單資料集是常見操作。 Python 提供了多種合併清單的方法,具體取決於您是要就地修改清單還是建立新清單。

要透過組合兩個現有列表來建立全新列表,最直接的方法是使用串聯運算子「+」(例如「list3 = list1 + list2」)。或者,在Python 3.5+ 中,您可以使用清單解包語法 `[*list1, *list2]`,它具有很強的表達能力,允許您輕鬆地在清單建立中的任何位置注入附加元素。

如果您想透過新增另一個清單中的元素來就地修改現有列表,「.extend()」方法是最有效的選擇。這避免了為新清單分配記憶體並直接修改目標清單。為了節省記憶體地遍歷合併列表而不在記憶體中複製數據,您可以使用“itertools.chain()”。

程式碼和執行輸出

該腳本示範如何使用運算符、擴充和解包技術合併兩個清單。

merge_lists.py
在編輯器中嘗試
list_a = [1, 2, 3]
list_b = [4, 5, 6]

# 1. Plus operator (creates a new list)
merged_plus = list_a + list_b
print("Using + operator:", merged_plus)

# 2. Unpacking operator (creates a new list)
merged_unpack = [*list_a, *list_b]
print("Using unpacking:", merged_unpack)

# 3. Extend method (modifies list_a in-place)
list_a.extend(list_b)
print("After extending list_a:", list_a)
端子輸出
Using + operator: [1, 2, 3, 4, 5, 6]
Using unpacking: [1, 2, 3, 4, 5, 6]
After extending list_a: [1, 2, 3, 4, 5, 6]

逐步實施

  • 使用 + 運算符合併列表並傳回新的組合清單。
  • 呼叫list_a.extend(list_b)將list_b的所有元素直接追加到list_a中。
  • 使用星號解包運算子 [*list_a, *list_b] 從兩者的元素建構一個清單。

常見問題解答

追加()和擴充()有什麼差別?

append() 將整個清單參數新增為單一巢狀元素,而extend() 解包清單參數並單獨新增每個元素。

如何在刪除重複項的同時合併清單?

您可以合併它們,然後將結果轉換為集合,或先將它們轉換為集合:list(set(list_a) | set(list_b))。

相關主題

推薦的 Python 資源

透過相關的互動式教學、備忘單和程式碼比較來擴展您的知識。