使用 Python 字典交集找到三個排序陣列中的公共元素
使用 python 來處理資料時,我們可能會遇到這樣的情況,我們需要找到多個數組中的公共元素。這可以透過將陣列轉換成字典來實現,如下所示。
在下面的示例中,我們取陣列並從 collections 模組中應用計數器容器。它將儲存容器中存在的每個元素的計數。然後,我們透過應用 dict() 並使用 & 運算子來轉換它們為字典,以識別陣列中僅有的公共元素。最後,我們迴圈瀏覽新建立字典的項,並從字典中追加值以獲得公共值的最終結果。
示例
from collections import Counter
arrayA = ['Sun', 12, 14, 11, 34]
arrayB = [6, 12, 'Sun', 11]
arrayC = [19, 6, 20, 'Sun', 12, 67, 11]
arrayA = Counter(arrayA)
arrayB = Counter(arrayB)
arrayC = Counter(arrayC)
# Intersection
commonDict = dict(arrayA.items() & arrayB.items() & arrayC.items())
res = []
# result
for (key, val) in commonDict.items():
for i in range(0, val):
res.append(key)
print("The common values among the arrays are:\n ",res)輸出
執行以上程式碼會給我們以下結果 −
The common values among the arrays are: ['Sun', 11, 12]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP