Skip to main content
 首页 » 编程设计

python之你能把两个不同长度的独立字典相乘来创建第三个吗

2025年05月04日10langtianya

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

有点像...

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) 

请您参考如下方法:

实现此目的的一种方法是对键集的并集使用字典理解,使用 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}