在Python中计算两个dicts之间的值

时间:2012-09-12 04:29:31

标签: python dictionary

我在python中有两个dict数量,另一个价格都有相同的键 什么是计算dict中每个元素的数量*价格的最佳方法和快速方法

示例

prices = {'a': '40', 'b': '40', 'c': '35'}
data ={'a': '1', 'b': '2', 'c': '4'}

我希望获得总和(int)260

2 个答案:

答案 0 :(得分:2)

您可以使用sum覆盖生成器表达式,如下所示:

sum(float(v)*float(prices[k]) for k,v in data.iteritems())

答案 1 :(得分:1)

>>> prices = {'a': '40', 'b': '40', 'c': '35'}
>>> data ={'a': '1', 'b': '2', 'c': '4'}
>>> sum(int(prices[x])*int(data[x]) for x in data)
260