【问题标题】:Merge two dictionary in python with same keys在python中使用相同的键合并两个字典
【发布时间】:2020-05-03 11:50:19
【问题描述】:

我想在 python 中用相同的键合并两个字典

字典:

dict1 = { 'a1': { 'b1': { 'c1': 'd1' }}}

dict2 = { 'a1': { 'b1': { 'c2': 'd2' }}}

dict3 = { 'a1': { 'b2': { 'c3': 'd3' }}}

dict4 = { 'a2': { 'b3': { 'c4': 'd4' }}}

我希望这个合并到

dict1 = {'a1': {'b1': {'c1': 'd1', 'c2': 'd2'}, 'b2': {'c3': 'd3'}},
         'a2': {'b3': {'c4': 'd4'}}}

我曾尝试与update 合并,但它会覆盖所有内容

提前致谢。

编辑:

我试过的代码:

dict1.update(dict2)
dict1.update(dict3)
dict1.update(dict4)

输出:

>>> dict1
{'a1': {'b1': {'c2': 'd2'}}, 'a2': {'b3': {'c4': 'd4'}}}

【问题讨论】:

  • 请发布您尝试过的代码。
  • 添加代码和输出

标签: python-3.x dictionary merge


【解决方案1】:

问题是update 只能在顶层工作。

def addin( d1, d2 ):
    for k,v in d2.items():
        if k not in d1:
            d1[k] = v
        else:
            addin( d1[k], v )

merged = {}
addin( merged, dict1 )
addin( merged, dict2 )
addin( merged, dict3 )
addin( merged, dict4 )
print(merged)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-12
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多