Проверить наличие ключа в словаре. Если нет, добавьте его

У меня есть большой 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или есть более простой способ?

5
задан adohertyd 18 July 2012 в 18:49
поделиться