在Python中的字典中查找具有重复值的键
在处理字典时,我们可能会遇到这样的情况:字典中存在重复的值,而键显然是唯一的。在本文中,我们将了解如何实现这一目标。
交换键和值
我们用字典的值交换键,然后继续附加与给定键关联的值。这样,重复值就可以合并在一起,我们可以在生成的新字典中看到它们。
示例
dictA = {'Sun': 5, 'Mon': 3, 'Tue': 5, 'Wed': 3}
print("给定字典:", dictA)
k_v_exchanged = {}
for key, value in dictA.items():
if value not in k_v_exchanged:
k_v_exchanged[value] = [key]
else:
k_v_exchanged[value].append(key)
# Result
print("新字典:", k_v_exchanged)输出结果
运行上面的代码给我们以下结果-
给定字典: {'Sun': 5, 'Mon': 3, 'Tue': 5, 'Wed': 3}
新字典: {5: ['Sun', 'Tue'], 3: ['Mon', 'Wed']}带套
我们在这里采用类似的方法。在这里,我们还使用set函数从现有字典创建了一个新字典,并添加了具有重复值的键。最后,我们过滤掉长度大于1的值,并将它们标记为重复项。
示例
dictA = {'Sun': 5, 'Mon': 3, 'Tue': 5, 'Wed': 4}
print("给定字典:", dictA)
dictB = {}
for key, value in dictA.items():
dictB.setdefault(value, set()).add(key)
res = filter(lambda x: len(x) >1, dictB.values())
# Result
print("新字典:",list(res))输出结果
运行上面的代码给我们以下结果-
给定字典: {'Sun': 5, 'Mon': 3, 'Tue': 5, 'Wed': 4}
新字典: [{'Tue', 'Sun'}]热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短