Python中按值来获取指定的键

转自: https://blog.csdn.net/Jerry_1126/article/details/87907162

Python字典中的键是唯一的,但不同的键可以对应同样的值,比如说uid,可以是1001。id同样可以是1001。这样的话通过值来获取指定的键,就不止一个!而且也并不太好处理。这里同样提供两种思路来处理。

方法一:

>>> dct = {'Name': 'Alice', 'Age': 18, 'uid': 1001, 'id': 1001}
 
>>> def get_key1(dct, value):
...     return list(filter(lambda k:dct[k] == value, dct))
 
>>> get_key1(dct, 1001)
['id', 'uid']
方法二:

>>> dct = {'Name': 'Alice', 'Age': 18, 'uid': 1001, 'id': 1001}
 
>>> def get_key2(dct, value):
...     return [k for (k,v) in dct.items() if v == value]
 
>>> get_key2(dct, 1001)
['id', 'uid']
>>> get_key2(dct, 1000)
[]
上面的两种方法可以很方便高效的来处理字典中按值来找键的问题!
原文地址:https://www.cnblogs.com/nyist-xsk/p/10524392.html