3

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

例子

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

我想得到260的总和(int)

4

2 回答 2

2

您可以sum像这样使用生成器表达式:

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

于 2012-09-12T04:36:20.920 回答
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
于 2012-09-12T04:31:18.837 回答