使用 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