как объединить два вложенных списка dict в новый - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть два вложенных списка диктов, вроде слияния с одним и тем же сгруппированным ключом. Например:

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'}]}

Как объединить два диктанта выше, с ключом группы? Вот код, который я использовал, пытался объединить, но я получаю данные SW1 дважды от DIC1 и DIC2.

    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)

1 Ответ

0 голосов
/ 12 апреля 2020

Попробуйте list() свои словари, а затем добавьте два списка. ().append не поддерживает операторы списка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...