У меня есть глубокий вложенный дикт (декодированный из json, из instagram api). Мой исходный код был таким:
caption = post['caption']['text']
Но это вызовет ошибку NoneType или KeyError, если ключ «заголовок» или ключ «текст» не существует.
Итак, я придумал это:
caption = post.get('caption', {}).get("text")
Который работает, но я не уверен в его стиле. Например, если я применяю эту технику к одному из более глубоких вложенных атрибутов, которые я пытаюсь получить, это выглядит довольно уродливо:
image_url = post.get('images',{}).get('standard_resolution',{}).get('url')
Есть ли лучший, более питонический способ написать это? Моя цель — получить данные, если они есть, но не задерживать выполнение, если их там нет.
Спасибо!