擅长:python、mysql、java
<p>使用递归遍历(假设所有源dict具有与最终期望值相同的<em>深度级别</em>和<em>列表</em>:</p>
<pre><code>dd1 = {'a': {'b': [{'x':1}]}}
dd2 = {'a': {'c': [{'x':2}]}}
dd3 = {'a': {'b': {}, 'c': {}}}
def update_nested_dict(target, d1, d2):
for k,v in target.items():
d1_v, d2_v = d1.get(k, []), d2.get(k, [])
if isinstance(v, dict):
if not v:
target[k] = d1_v + d2_v
else:
update_nested_dict(v, d1_v, d2_v)
update_nested_dict(dd3, dd1, dd2)
print(dd3)
</code></pre>
<p>输出:</p>
<pre><code>{'a': {'b': [{'x': 1}], 'c': [{'x': 2}]}}
</code></pre>