Преобразовать список словарей с вложенным списком словарей при возможном отсутствии ключа python
Исходные данные на python:
lst = [
{'fruit': 'apple', 'types': [{'type':'green', 'amount':'2'},{'type':'red', 'amount':'3'}]},
{'fruit': 'melon', 'types': [{'type':'yellow', 'amount':'4'},{'type':'red', 'amount':'5'},{'type':'orange', 'amount':'1'}]}
]
нужно получить следующий словарь из списка lst
:
dict = {'apple': {'green':'2','red':'3'},'melon': {'yellow':'4','red':'5','orange':'1'}}
в одном из предыдущих вопросов мне уже помогли со способом преобразования списка lst
в нужный вид:
dict1 = {item['fruit']: {v['type']: v['amount'] for v in item['types']} for item in lst}
Однако некоторые вложенные словари в исходных данных lst
могут не содержать в себе ключа 'amount'
, соответственно выдает ошибку: KeyError: 'amount'
Задача: дописать этот способ, чтобы он выдавал значение 'amount': None
внутри вложенного словаря, если не нашел значение по ключу 'amount'
, чтобы не было такой ошибки KeyError: 'amount'
Буду очень благодарен помощи!
Источник: Stack Overflow на русском