Вы правы, что команды в списке - вот что испортило.
def get_key(val):
for key, value in Divisions_dict.items():
if val == value or val in value:
return key
return "key doesn't exist"
Небольшое изменение, добавленное or val in value
, учтет это. Имейте в виду, что это также вернет истину, если значение, которое вы ищете, является подстрокой значения, которого нет в списке. Например, если вы искали 'he'
, он нашел бы его в 'hello'
. Если вы действительно хотите убедиться, что этого не произошло, вы можете проверить, является ли значение строкой.
def get_key(val):
for key, value in Divisions_dict.items():
if isinstance(value, str):
if val == value:
return key
else:
if val in value:
return key
return "key doesn't exist"
В стороне я бы рекомендовал вернуть что-то вроде None
вместо "key doesn't exist"
. Это одна из вещей, для которой предназначен None
, и теперь вы можете использовать "key doesn't exist"
в качестве ключа!