如何将两个嵌套的dict列表合并为新的dict列表

2024-06-07 07:18:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个嵌套的dict列表,喜欢与同一个分组键合并。例如:

DIC1:

{'SW-01': [{'Aip': '192.168.2.1',
        'Bip': '192.168.2.0',
       {'Aip': '192.168.3.3',
        'Bip': '192.168.3.2'}]}

DIC2:

{'SW-01': [{'Aip': '192.168.1.19',
            'Bip': '192.168.1.18'}],
 'SW-02': [{'Aip': '192.168.1.83',
            'Aip': '192.168.1.82',
           {'Aip': '192.168.1.85',
            'Bip': '192.168.1.84'}]}

如何用组键合并上面的两个dict? 下面是我尝试合并的代码,但我从DIC1和DIC2中两次获得了SW1数据

    d = {}
    for key in (*dic1, *dic2):
        try:
            d.setdefault(key,[]).append(dic1[key])
        except KeyError:
            pass
        try:
            d.setdefault(key,[]).append(dic2[key])
        except KeyError:
            pass
    pprint(d)

Tags: keypassswdicttrykeyerrorexceptappend