创建嵌套的python字典并内联分配值?

时间:2018-08-07 20:24:12

标签: python-3.x dictionary

我知道一个人可以做这样的事情

d = {}
d['key1'] = {'Innerkey1':{'Response':'value','Type':'value2'}}

但是,我需要这样的东西

d['Key1']['Innerkey1'] = {'Response':'value','Type':'value2'}

因为我会不断根据各种因素添加新的内键,如果我愿意这样做

d['Key1'] = {'NewInnerkey2': {'Response':'value','Type':'value2'}}

它会覆盖并替换innerkey1。

我想我可以先初始化d ['key1']并使用

.append({'NewInnerkey2': {'Response':'value','Type':'value2'}}),

但是,在许多不同的地方,可能需要初始化新的主键或内键,因此检查是否是否初始化等会导致很多毛病。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用defaultdict

d = defaultdict(dict)
d['key1']['innerkey'] = {'Response':'value','Type':'value1'} # won't throw errors
d['key2']['innerkey2'] = {'Response':'value','Type':'value2'} # won't overwrite the value for innerkey