包括重複項的兩個列表的差值


有時我們需要找出兩份清單之間的差異。從數學角度,這也意味著如果第二個清單中存在第一個清單中的元素,則將其移除。重複項將被保留。以下是實現此目的的方法。

我們可以使用 collections 模組中的 Counter 方法,它會跟蹤元素的數量。簡單的數學減法計算即可得出所需結果。在最終結果中,第一個和第二個清單中元素出現的次數將決定元素。

示例

 即時演示

from collections import Counter

# initializing lists
listA = ['Mon', 'Tue', 9, 3, 3]
listB = ['Mon', 3]

# printing original lists
print("Given ListA : ",listA)
print("Given ListB : ",listB)

# Applying collections.Counter()
diff_list = list((Counter(listA) - Counter(listB)).elements())

# Result
print("Result of list subtraction : ",diff_list)

輸出

執行以上程式碼後,我們會得到以下結果 −

Given ListA : ['Mon', 'Tue', 9, 3, 3]
Given ListB : ['Mon', 3]
Result of list subtraction : ['Tue', 9, 3]

更新於: 04-May-2020

255 次瀏覽

開啟您的事業

完成課程以獲得認證

開始
廣告
© . All rights reserved.