在Python中按字典交集查找三个排序数组中的公共元素
在使用python处理数据时,我们可能会遇到需要查找多个数组中共有的元素的情况。可以通过如下所示将数组转换为字典来实现。
在下面的示例中,我们采用数组并从collections模块应用Counter容器。它将保存容器中每个元素的计数。然后,我们通过应用dict()
并使用&运算符将它们转换为字典,以仅识别数组中的公共元素。最后,我们遍历新创建的字典的各项,并附加字典中的值以获得公共值的最终结果。
示例
from collections import CounterarrayA = ['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]
以上是 在Python中按字典交集查找三个排序数组中的公共元素 的全部内容, 来源链接: utcz.com/z/358929.html