Python 将字典值重新匹配到字典中

Python 将字典值重新匹配到字典中,python,dictionary,Python,Dictionary,我正在两个字典上执行一个数学运算,我想获取这些字典的输出并将它们映射回另一个字典 我有一些工作代码,可以输出我的期望值,但不能输出到我感兴趣的key:value对中 我有两本字典: new_dict=dict() pkeys=dict1.keys() for key in pkeys: for entry in dict1[key]: new_dict[entry]= dict1[key][entry] * dict2[entry] dict1 {'outer':{'

我正在两个字典上执行一个数学运算,我想获取这些字典的输出并将它们映射回另一个字典

我有一些工作代码,可以输出我的期望值,但不能输出到我感兴趣的key:value对中

我有两本字典:

new_dict=dict()
pkeys=dict1.keys()
for key in pkeys:
    for entry in dict1[key]:
        new_dict[entry]=  dict1[key][entry] * dict2[entry]
dict1
{'outer':{'word1':0.1234,'word2':0.4321,'word3':0.4567}
格言2
{'word1':2.222,'word3':3.567,'word2':2.123}
我有这段代码将word1的值与各自词典中的word1相乘:

new_dict=dict()
pkeys=dict1.keys()
for key in pkeys:
    for entry in dict1[key]:
        new_dict[entry]=  dict1[key][entry] * dict2[entry]
new_dict包含正确的输出:“word1”:0.27419,但我似乎无法将其恢复为中的格式

dict1: {'outer':{'word1':0.27419, 'word2':0.91734 } 

您可以使用
dict.setdefault
方法在迭代中的当前键下为
new\u dict
初始化子dict

更改:

new_dict[entry]=  dict1[key][entry] * dict2[entry]
致:


new_dict={'outer':new_dict}
dict2
没有
'word3'的条目,这会导致一个
keyrerror`-因此问题中的内容不起作用。在
dict1
的定义中,您还缺少一个结束语
}