在python中以相同的值在字典中获取键值?

use*_*749 4 python dictionary

假设一本字典

d={'a':1,'b':2,'c':1}
Run Code Online (Sandbox Code Playgroud)

我用的时候

d.keys()[d.values(). index(1)]
Run Code Online (Sandbox Code Playgroud)

我明白了'a',但我也想得到'c',因为价值'c'也是1.我怎么能这样做?

the*_*eye 10

你可以像这样使用列表理解

print [key for key in d if d[key] == 1]
Run Code Online (Sandbox Code Playgroud)

它遍历字典的键并检查值是否为1.如果值为1,则将相应的键添加到列表中.

或者,您可以dict.iteritems()在Python 2.7中使用这样的方法

print [key for key, value in d.iteritems() if value == 1]
Run Code Online (Sandbox Code Playgroud)

在Python 3.x中,您也可以这样做dict.items(),

print([key for key, value in d.items() if value == 1])
Run Code Online (Sandbox Code Playgroud)