Python - 合併兩個列表並保留第一個列表中的重複項


在使用 python 進行資料分析時,我們可能會遇到需要合併兩個列表的情況。但是處理兩個列表中存在的重複元素可能是一個挑戰。在本文中,我們將學習如何合併兩個列表,方法是保留來自第一個列表的所有元素,並僅保留來自第二個列表的唯一元素。

使用 extend

在這種方法中,我們取第一個列表並建立一個結果列表。然後我們設計一個 for 迴圈來檢查第一個列表中的元素在第二個列表中是否存在,如果元素在第二個列表中找不到,則使用 extend 函式將其追加到結果列表中。

示例

# Given list A
listA = ['A', 'B', 'B','X']

# Guven list B
listB= ['B', 'X', 'Z', 'P']

# Creating the result set
res = list(listA)

# Extending result with list B
res.extend(i for i in listB if i not in res)

# Get result
print(res)

執行以上程式碼,會得到以下結果 -

輸出

['A', 'B', 'B', 'X', 'Z', 'P']

使用 set

我們可以應用 set 函式來獲取列表中存在的唯一元素。然後我們找出這兩個列表中元素之間的差異,以僅獲取來自第二個列表的唯一元素。最後,我們將此差異的結果新增到第一個列表中。

示例

# GIven First List
listA = ['A', 'B', 'B','X']

# Given Second list
listB= ['B', 'X', 'Z', 'P']

# makign the lists Uniq
listA_uniq = set(listA)
listB_uniq = set(listB)

# Capture unique elements from list B
diff_lists = listB_uniq - listA_uniq
res = listA + list(diff_lists)

# Get result
print(res)

執行以上程式碼,會得到以下結果 -

輸出

['A', 'B', 'B', 'X', 'P', 'Z']

更新時間:28-12-2020

333 次瀏覽

職業啟航

完成課程認證

開始
廣告