如果dict中的值相等则返回键python

时间:2018-03-23 07:03:44

标签: python dictionary

我有一个键和值的字典。如果dict中有相同的值,我需要比较所有键的值,然后返回具有相同值的键。

b = {(1, 1): '4', (2, 1): '4',(3,1):'8',(4,2):'9',(2,4):'10'}
p = dict(zip(b.values(),b.keys()))

我得到的输出:

{'4': (2, 1), '8': (3, 1), '9': (4, 2), '10': (2, 4)}

预期产出:

{(1, 1): '4', (2, 1): '4'}

1 个答案:

答案 0 :(得分:4)

使用using namespace com::check::one;的单线程:

dict comprehension

这里要确定其他值是否也包含相同值,我们检查计数是否大于1。

#driver values:

>>> {k:v for k, v in b.items() if list(b.values()).count(v) > 1}