2016-09-22 3 views
-4

У меня есть Dict-структуру, такие как это:Как слить два dict в python?

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

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

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

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

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

+1

Вы пробовали использовать это в Google? – kkaosninja

+0

Да, но не полезно, можете ли вы дать мне какое-нибудь предложение? – fx0123

ответ

0

Это работает, но какой прецедент? Похоже, что, возможно, более элегантное решение.

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

[Прочитайте документацию по встроенным функциям типа 'dict()'.] (Https: //docs.python. org/2/library/functions.html) И нажмите галочку, чтобы принять ответ! –

+0

Это не работает, см. @ Jal – fx0123

+0

Он решает проблему, которую вы представили. Это просто не лучший способ сделать это вообще. Вот почему я попросил использовать прецедент! –

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

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

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

Смежные вопросы