Прямой способ получить ключ по значению в словаре Python отсутствует. Словари созданы для быстрого доступа к значению по ключу, а не наоборот. Почему так? Как же решить эту задачу? my_dict = {'a': 1, 'b': 2, 'c': 1} # Создаем обратный словарь reverse_dict = {} for key, value in my_dict.items(): reverse_dict[value] = key # Получаем ключ по значению value_to_find = 1 key = reverse_dict.get(value_to_find, None) print(key) # Выведет: 'c' (так как 'c' было последним ключом с значением 1) my_dict = {'a': 1, 'b': 2, 'c': 1} value_to_find = 1 for key, value in my_dict.items(): if value == value_to_find: print(key) break from collections import defaultdict my_dict = {'a': 1, 'b': 2, 'c': 1} # Создаем словарь, где значения - списки ключей reverse_dict = defaultdict(list) for key, value in my_dict.items(): reverse_dict[value].append(key) value_to_find = 1 print(reverse_dict[value_to_find]) # Выведет: ['a', 'c'] Важно помнить: Какой метод выбрать зависит от конкретной задачи и структуры вашего с