在Python中按字典交集查找三个排序数组中的公共元素

在使用python处理数据时,我们可能会遇到需要查找多个数组中共有的元素的情况。可以通过如下所示将数组转换为字典来实现。

在下面的示例中,我们采用数组并从collections模块应用Counter容器。它将保存容器中每个元素的计数。然后,我们通过应用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]

以上是 在Python中按字典交集查找三个排序数组中的公共元素 的全部内容, 来源链接: utcz.com/z/358929.html

回到顶部