Python:如何匹配键然后将键值对值与另一个字典中的值相乘?

时间:2021-05-13 18:52:12

标签: python dictionary

我有两个 Python 词典。一个是嵌套字典,一个是常规字典,如下所示:

dict1 = {"12345": {"a": 2, "b": 4, "c": 3, "d": 5}, "67891": {"c": 5, "d": 4, "e": 2, "f": 1}}
dict2 = {"12345": 3, "67891": 4}

我想将 dict1 中的每个值与 dict1 和 dict2 之间的键匹配的 dict2 值相乘。结果会是这样:

# Desired output:
dict1 = {"12345": {"a": 6, "b": 12, "c": 9, "d": 15}, "67891": {"c": 20, "d": 16, "e": 8, "f": 4}}

我尝试输入此代码,但似乎不起作用。

for k, v in dict1.items():
    v= {v: v*dict2[k])}

1 个答案:

答案 0 :(得分:1)

使用循环和dict理解

例如:

dict1 = {"12345": {"a": 2, "b": 4, "c": 3, "d": 5}, "67891": {"c": 5, "d": 4, "e": 2, "f": 1}}
dict2 = {"12345": 3, "67891": 4}

for k, v in dict2.items():
    dict1[k] = {m: n*v for m, n in dict1[k].items()}

print(dict1)

输出:

{'12345': {'a': 6, 'b': 12, 'c': 9, 'd': 15},
 '67891': {'c': 20, 'd': 16, 'e': 8, 'f': 4}}
相关问题