2017-10-15 72 views
0

我可以创建一个复杂的字典通过使字典从值列表与添加到列表中的值:Сreation从其他字典

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

但如何创建这样一个字典:

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

回答

1

真的没什么比你刚才写的更复杂:

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

没错!我在字典中有点困惑。谢谢! –