У меня есть большой python dict, созданный из данных json, и я создаю меньший dict из большого. Некоторые элементы большого словаря имеют ключ под названием «детали», а некоторые элементы — нет. Что я хочу сделать, так это проверить, существует ли ключ в каждой записи в большом словаре, а если нет, добавить ключ «подробности» со значением «нет доступных сведений» в новый словарь. Я помещаю пример кода ниже просто в качестве демонстрации. LargeDict намного больше с большим количеством ключей в моем коде, но я делаю его простым для ясности.
LargeDict = {'results':
[{'name':'john','age':'23','datestart':'12/07/08','department':'Finance','details':'Good Employee'},
{'name':'barry','age':'26','datestart':'25/08/10','department':'HR','details':'Also does payroll'},
{'name':'sarah','age':'32','datestart':'13/05/05','department':'Sales','details':'Due for promotion'},
{'name':'lisa','age':'21','datestart':'02/05/12','department':'Finance'}]}
Вот как я получаю данные для SmallDict:
SmallDict = {d['name']:{'department':d['department'],'details':d['details']} for d in LargeDict['results']}
Однако я получаю ключевую ошибку, когда в одной из больших записей dict нет подробностей. Правильно ли я говорю, что мне нужно использовать модуль DefaultDict
или есть более простой способ?