你能将两本不同长度的字典相乘来创建第三本吗?

Use*_*BRy 1 python dictionary python-3.x

是否可以将两个单独的字典相乘以更新第一个/创建第三个?

就像是...

d1 = {'apples':2, 'oranges':3, 'bananas':4}
d2 = {'apples':4, 'oranges':6, 'bananas':8, 'pears':10}
update_d1 = {}

for i in d1:
    update_d1[i] = d1[i] * d2[i]

print(update_d1)
Run Code Online (Sandbox Code Playgroud)

kay*_*ya3 6

一种方法是对键集的并集使用字典推导,使用get默认值 1 进行乘法:

>>> { k: d1.get(k, 1) * d2.get(k, 1) for k in d1.keys() | d2.keys() }
{'pears': 10, 'bananas': 32, 'oranges': 18, 'apples': 8}
Run Code Online (Sandbox Code Playgroud)