как объединить два dict в Python?

У меня есть такая структура dict:

a = {'1' : {}, '2' : {}} 

b = {'3' : 3, '4' : 4}

Я хочу иметь следующий формат:

a = {'1' : { '3' : 3 }, '2' : { '4' : 4 } }

Я много раз пробовал, но всегда теряюсь, может ли кто-нибудь мне помочь?


person fx0123    schedule 22.09.2016    source источник
comment
Вы пробовали погуглить?   -  person kkaosninja    schedule 22.09.2016
comment
Да, но бесполезен, вы можете мне что-нибудь посоветовать?   -  person fx0123    schedule 22.09.2016


Ответы (2)


Это работает, но каков вариант использования? Похоже, есть более элегантное решение.

a = {i:{j:k} for i,(j,k) in zip(a.keys(),b.items())}
person Joe Flip    schedule 22.09.2016
comment
Прочтите документацию по встроенным программам, например dict(). И нажмите галочку, чтобы принять Ответ! - person Joe Flip; 22.09.2016
comment
Не получается, см @ Jal - person fx0123; 22.09.2016
comment
Это решает поставленную вами проблему. Это просто не лучший способ делать это в целом. Вот почему я попросил вариант использования! - person Joe Flip; 22.09.2016
comment
Извините, это решает проблему, которую я представил, вариант использования состоит в том, что я хочу отсортировать 'a с точки зрения некоторого' ключа 'в' a 'и получить некоторую полезную информацию. Большое Вам спасибо. - person fx0123; 22.09.2016

c = {i:{j:k} for i, (j, k) in zip(a.keys(), b.items())}

>>> c
{'2': {'3': 3}, '1': {'4': 4}}

В словаре нет порядка, поэтому вы не можете гарантировать, что {3: 3} или {4: 4} являются значением ключа '1' или "2 '

person Jal    schedule 22.09.2016