想象一下以下的说法:
Any
我想合并它们来获取
a = {'key1': {'subkey1': [1, 2, 3]}}
b = {'key1': {'subkey2': [1, 2, 3]}}
非常好的解决方案是返回c = {'key1': {'subkey1': [1, 2, 3],
'subkey2': [1, 2, 3]}}
和a
的深拷贝,我可以在不改变b
或a
的情况下进行更改。
b
看起来不错,但似乎与c = {**a, **b}
相同,在我的情况下返回与c = copy(a).update(b)
相同,因为b
会被更新覆盖。
你当然可以像这样手工完成这个(在另一个答案中找到):
key1
但我们现在有Python 3.5 - 可能事情已经改变了?