Это задание для next
.
my_d = {"low":[18,12,9],"medium":[6,3],"high":[2,1],"final":[0]}
target = 12
res = next((k for k, v in my_d.items() if target in v), 'N\A')
print(res) # low
Обратите внимание, что если ваше значение target
существует в более чем одном ключе, этот код вернет один из них в random 1 .Если это возможно в зависимости от ситуации и в зависимости от проблемы, над которой вы работаете, может быть разумнее вместо этого получить все соответствующие ключи.Для этого используйте:
res = [k for k, v in my_d.items() if target in v]
1 На самом деле больше похоже на в неконтролируемом режиме .