Как написать проверку по ключу в словаре, который находится в списке?
Имею данный код:
releases = []
for release in all_release_dates:
if release['iso_3166_1']:
releases.append(release['release_dates'])
В словарь передаются следующие значения, вот его малая часть:
[[{'certification': 'G', 'iso_639_1': '', 'note': 'Washington, D.C.', 'release_date': '1968-04-02T00:00:00.000Z', 'type': 1}],
[{'certification': '', 'iso_639_1': None, 'note': "Kyiv Critics' Week", 'release_date': '2020-10-28T00:00:00.000Z', 'type': 2}],
[{'certification': '11', 'iso_639_1': 'en', 'note': '', 'release_date': '1968-08-27T00:00:00.000Z', 'type': 3}], ]
И, собственно, сам вопрос: как сделать проверку по каждому словарю по ключу 'type'? И если он равен 1, то выводилось бы значение из того же словаря по ключу 'release_date'.
Ответы (1 шт):
Автор решения: Andy Pavlov
→ Ссылка
Итерируете исходный список, внутри него у Вас еще один список, уже внутри которого словарь.
Сначала проверяет вхождение ключа type и его равенство 1 через if dict.get('type') == 1, если оно существует, то через dict.get('release_date') пытаетесь получить результат. Если такого ключа не будет, то получите None
data = [[{'certification': 'G', 'iso_639_1': '', 'note': 'Washington, D.C.', 'release_date': '1968-04-02T00:00:00.000Z', 'type': 1}],
[{'certification': '', 'iso_639_1': None, 'note': "Kyiv Critics' Week", 'release_date': '2020-10-28T00:00:00.000Z', 'type': 2}],
[{'certification': '11', 'iso_639_1': 'en', 'note': '', 'release_date': '1968-08-27T00:00:00.000Z', 'type': 3}], ]
for d in data:
if d[0].get('type') == 1:
print(d[0].get('release_date'))