计算字典中元组元素乘积并求和的实现方法
解决方法
方法一:简洁的生成器表达式(推荐)
直接利用sum()函数结合生成器表达式,一行代码完成计算:
d = {'itemA': (1, 0.5), 'itemB': (2, 0.3), 'itemC': (3, 0.7)} result = sum(a * b for a, b in d.values()) print(result) # 输出:3.2
逻辑说明:d.values()提取字典中所有的元组,对每个元组拆包为两个元素并相乘,最后用sum()累加所有乘积。
方法二:直观的循环累加
如果需要更清晰的分步逻辑,用循环实现:
d = {'itemA': (1, 0.5), 'itemB': (2, 0.3), 'itemC': (3, 0.7)} total = 0 for num1, num2 in d.values(): total += num1 * num2 print(total) # 输出:3.2
逻辑说明:先初始化总和变量为0,遍历每个元组计算乘积,再将结果逐步累加到总和中。
内容的提问来源于stack exchange,提问作者jim
相关产品推荐
相关产品推荐

