如何在不同的嵌套级别合并嵌套字典?

时间:2018-05-30 11:49:18

标签: python

我想合并这两个嵌套的词典:

dict1 = {'NYSE': {'day': {'USD': {'missing': ['z', 'y', 'x']}}}}
dict2 = {'NYSE': {'hour': {'USD': {'missing': ['z', 'y', 'x']}}}}

所以结果会是这样的:

{
    'NYSE': {
        'day': {
            'USD': {
                'missing': ['z', 'y', 'x']
            }
        },
        'hour': {
            'USD': {
                'missing': ['z', 'y', 'x']
            }
        }
    }
}

在某些情况下,我需要合并第二级词典,如下所示:

dict1 = {'NYSE': {'day': {'USD': {'missing': ['z', 'y', 'x']}}}}
dict3 = {'NYSE': {'day': {'EUR': {'missing': ['z', 'y', 'x']}}}}

有一种简单的方法吗?

当我使用dict1.update(dict2)时,由于dict2变为dict1,因此无法提供预期结果。

我能做到这一点,但根本不灵活。

dict1['NYSE']['hour'] = {'USD': {'missing': ['z', 'y', 'x']}}

谢谢,

1 个答案:

答案 0 :(得分:3)

您可以使用:

dict1['NYSE'].update(dict2['NYSE'])