python dict字典的get方法

新手上路,请多包涵

是否可以通过“值”取到“键”?
比如 dict ={"1": a, "2":b}
dict. get('a')是否可以得到键“1”?

阅读 3.1k
3 个回答

不可以,只能遍历去找

d = {1:"a", 2:"b"}
for key, value in d.items():
    if value == "a":
        break
key

dict中,key是唯一的,value则不一定,所以你用value取key则可能得到一个或多个key
所以只能通过遍历的思想来解决,能优化的只是可以用些高级函数来省点代码而已

dict的value不是唯一的, 建议题主通过翻转字典来获取:

def reverse_dict(dat=None):
    dat = dat or {'1': 'a', '2': 'b', '3': 'a'}
    rd = {}
    _ = {rd.setdefault(v, []).append(k) for k, v in dat.items()}
    return rd


rd = reverse_dict()
print(rd)
# {'a': ['1', '3'], 'b': ['2']}
print(rd.get('a'))
# ['1', '3']
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题