Выбрать ключи по значениям из словаря Python
Необходимо вывести в отдельный список ключи по значениям, но выводится только первый, другие игнорируются
def search_name(value):
dict = {'Annabel': ['HDfilm','Horror'], 'Avatar': ['Fullscreen','Fantasy'], 'Happy end': ['HdFilm','Horror']}#имена по жанру
for k, v in dict.items():
l = []
if v[1] == value:
res = l.append(k)
return res
else:
return None
search_name('Horror')
Ответы (1 шт):
Автор решения: Alexander Kolbeko
→ Ссылка
Операция append для списка является void функцией, поэтому в res всегда попадает None.
Попробуй таким образом:
def search_name(value):
dict = {'Annabel': ['HDfilm','Horror'], 'Avatar': ['Fullscreen','Fantasy'], 'Happy end': ['HdFilm','Horror']}#имена по жанру
l = []
for k, v in dict.items():
if v[1] == value:
l.append(k)
return l
print(search_name('Horror'))