我想用dd1和dd2来更新dd3
dd1 = {'a': {'b': [{'x':1}]}}
dd2 = {'a': {'c': [{'x':2}]}}
dd3 = {'a': {'b': {}, 'c': {}}}
所以我得到dd3:
dd3 = {'a': {'b': [{'x':1}], 'c': [{'x':2}]}}
我知道如何更新平面词典
d1 = {'a': 1, 'b': 2, 'c': 3}
d2 = {'a': 2, 'b': 3, 'd': 4}
d3 = defaultdict(list)
for k, v in chain(d1.items(), d2.items()):
d3[k].append(v)
但很难找到更新嵌套字典的清晰方法:
可以使用递归:
输出:
此解决方案可以处理多个不同深度的词典:
输出:
使用递归遍历(假设所有源dict具有与最终期望值相同的深度级别和列表:
输出:
相关问题 更多 >
编程相关推荐