как найти ключ по значению без цикла for на python

представим у нас есть определенное значение и словарь, возможно ли найти ключ с таким значением без перебора?


Ответы (1 шт):

Автор решения: Kostya_200808

Возможно. Можно превратить ключи и значения в списки и с помощью списков делать операции по поиску. Я сделал функцию, которая принимает список и значение, а на выходе выдаёт ключи (даёт даже несколько).

My_Dict = {"NotError": False, "Error1": True, "Error2": True}
def Finder(Dict, Value):
    All, Result = [list(Dict.keys()), list(Dict.values())], list()
    while Value in All[1]:
        Result.append(All[0].pop(All[1].index(Value)))
        All[1].remove(Value)
    return Result
print(Finder(My_Dict, True))

На выходе имеем:

['Error1', 'Error2']

→ Ссылка