我有一个从 json 数据创建的大型 python 字典,并且正在从大的字典中创建一个较小的字典。大字典的某些元素有一个称为“详细信息”的键,而某些元素没有。我想要做的是检查大字典中的每个条目中是否存在该键,如果不存在,则将键“详细信息”附加到新字典的值“没有可用的详细信息”。我在下面放了一些示例代码作为演示。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
模块是对的还是有更简单的方法?