You are currently viewing Python | Получить ключ из значения в словаре

Python | Получить ключ из значения в словаре

Давайте посмотрим, как получить ключ по значению в словаре Python.

Способ 1: Использование list.index()

Метод index() возвращает индекс соответствующего значения в списке. Ниже приведена реализация того, как использовать метод index() для извлечения ключа словаря с использованием значения.

# 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)])

Выход:

java
python
python

Пояснение:
Используемый здесь подход заключается в поиске двух отдельных списков ключей и значений. Затем извлеките ключ, используя позициюзначения в списке val_list. Поскольку ключ в любой позиции N в списке ключей будет иметь соответствующее значение в позиции N в списке значений.

Метод № 2: С помощью функции dict.item()

Мы также можем извлечь ключ из значения, сопоставив все значения, а затем распечатать соответствующий ключ с заданным значением.

# 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