python取出字典重复值_在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个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值