首页 > 解决方案 > 使用第二个字典中的数据丰富 Python 字典

问题描述

提供 2 个 Python 字典,例如

a1 = {'a': 2, 'b': 3, 'c': 1, 'e': {'f': 6, 'h': {'j': 3}}}
a2 = {'a': 2, 'c': 2, 'd': 4, 'e': {'f': 6, 'g': 8, 'h': {'i': 10}}}

我需要用 a2 中缺少的任何值更新 a1。缺少的键作为列表中的列表给出,即[['d'], ['e', 'g'], ['e', 'h', 'i']]. 最后一项表示您正在向 a1 添加一个嵌套项。解决此问题的最有效方法是什么?

注意:

  1. dict.update()方法不起作用,因为它覆盖了现有的键a1
  2. 丢失键的输出来自deepdiff包,我用它来获取两个字典之间的差异

预期产出

{'a': 2, 'b': 3, 'c': 1, 'e': {'f': 6, 'g': 8, 'h': {'j': 3, 'i': 10}}, 'd': 4}

标签: pythonpython-3.xdictionary

解决方案


推荐阅读