如果p ='你好' 我需要在字典中搜索值'hello'并返回'hello'的键 是否有某种内置功能可以帮助我做到这一点?
答案 0 :(得分:1)
我无法想到这样做的内置函数,但最好的方法是:
def get_keys(d, x):
return [k for k, v in adict.items() if v == x]
演示:
>>> example = {'baz': 1, 'foo': 'hello', 'bar': 4, 'qux': 'bye'}
>>> get_keys(example, 'hello')
['foo']
我们在这里使用list
因为任何一个值都可以在字典中出现多次 - 所以我们需要一些东西来容纳所有适用的相应键。
考虑到这一点,如果您只想要第一个找到的实例,则只需在返回的[0]
上执行list
。
答案 1 :(得分:0)
你可以这样做:
def get_pos(my_dict, my_str):
pos = []
for i in my_dict:
if my_dict[i] == my_str:
pos.append(i)
return pos
>>> a = {'apple':'hello', 'banana':'goodbye'}
>>> get_pos(a,'hello')
'apple'