📜  Python|从字典中的值获取键

📅  最后修改于: 2022-05-13 01:54:47.487000             🧑  作者: Mango

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