Python|从字典中的值获取键
让我们看看如何在Python字典中按值获取键。
方法一:使用 list.index()
index() 方法返回列表中对应值的索引。下面是如何使用 index() 方法通过 value 获取 Dictionary 键的实现。
Python3
# creating a new dictionary
my_dict ={"java":100, "python":112, "c":11}
# list out keys and values separately
key_list = list(my_dict.keys())
val_list = list(my_dict.values())
# print key with val 100
position = val_list.index(100)
print(key_list[position])
# print key with val 112
position = val_list.index(112)
print(key_list[position])
# one-liner
print(list(my_dict.keys())[list(my_dict.values()).index(112)])
Python3
# function to return key for any value
def get_key(val):
for key, value in my_dict.items():
if val == value:
return key
return "key doesn't exist"
# Driver Code
my_dict ={"java":100, "python":112, "c":11}
print(get_key(100))
print(get_key(11))
输出:
java
python
python
解释:
这里使用的方法是找到两个单独的键和值列表。然后使用值在 val_list 中的位置获取键。由于 key_list 中任何位置 N 的键在 val_list 中的位置 N 处都有相应的值。
方法#2:使用 dict.item()
我们还可以通过匹配所有值从值中获取键,然后将对应的键打印到给定值。
Python3
# function to return key for any value
def get_key(val):
for key, value in my_dict.items():
if val == value:
return key
return "key doesn't exist"
# Driver Code
my_dict ={"java":100, "python":112, "c":11}
print(get_key(100))
print(get_key(11))
输出:
java
c