2017-10-15 5 views
0

je peux créer un dictionnaire complexe en faisant un dictionnaire à partir de la liste de valeurs avec une valeur ajoutée à la liste:Сreation des dictionnaires imbriqués d'autres dictionnaires

NEED= {'need1': ['good1', 'good2'], 'need2': ['good2', 'good3']} 
DM= {'good1': 1, 'good2': 1, 'good3': 10} 

NG = { 
    n_key: [ 
     {n_ch_key: DM[n_ch_key] for n_ch_key in n_l} 
    ] 
    for n_key, n_l in NEED.items() 
} 
OUT:{'need2': [{'good2': 1, 'good3': 10}], 'need1': [{'good2': 1, 'good1': 1}]} 

Mais comment créer un dictionnaire comme celui-ci:

IN: CN= {'need1': 3, 'need2': 2} 
    NEED= {'need1': ['good1', 'good2'],'need2': ['good2', 'good3'] } 

OUT: NG={'need1': [{'good1': 3, 'good2': 3}], 'need2': [{'good2': 2, 'good3': 2}]} 

Répondre

1

Rien de bien plus complexe que ce que vous venez d'écrire:

NG = { 
    n_key: [ 
     {n_ch_key: CN[n_key] for n_ch_key in n_l} 
    ] 
    for n_key, n_l in NEED.items() 
} 
+0

Exactement! Je suis un peu confus dans les dictionnaires. Je vous remercie! –