从一个字典的键和另一个字典python的相应值创建一个字典



我有两个字典,一个是这样的:

dict1 = {'1': ['1000', '2000', '3000']}

另一个是:

dict2 = {'1000': ['12', '13', '14'], '2000': ['15', '16', '17'], '3000': ['18', '19', '20']}

有没有办法制作一本新字典,看起来像这样?

dict3 = {'1':[['12', '13', '14'], ['15', '16', '17'], ['18', '19', '20']]}

您可以使用列表和字典理解来做到这一点:

dict3 = {k:[dict2[i] for i in v] for k,v in dict1.items()}
print(dict3) # output: {'1': [['12', '13', '14'], ['15', '16', '17'], ['18', '19', '20']]}

你可以在没有冗余变量的情况下进行列表+字典理解:

dict1 = {'1': ['1000', '2000', '3000']}
dict2 = {'1000': ['12', '13', '14'], '2000': ['15', '16', '17'], '3000': ['18', '19', '20']}
dict3 = {key: [dict2[value] for value in dict1[key]] for key in dict1}
print(dict3)

输出:

{'1': [['12', '13', '14'], ['15', '16', '17'], ['18', '19', '20']]}

外在的字典理解遍历dict1中的键。

内部列表理解通过收集所有dict2中的值,这些值由dict1中给出的dict2键列表引用。

最新更新