Python 将字典值重新匹配到字典中
我正在两个字典上执行一个数学运算,我想获取这些字典的输出并将它们映射回另一个字典 我有一些工作代码,可以输出我的期望值,但不能输出到我感兴趣的key:value对中 我有两本字典: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':{'
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
的定义中,您还缺少一个结束语}
。