python - 将列表b中的每个元素与列表b相加并相加

时间:2016-02-16 15:51:45

标签: python

功能:

def unique_common(a,b):

我有两个列表,让我们说:

a = [2, 3, 5, 7, 9] 

和另一个清单

b = [5, 8, 4, 1, 11].

此列表b为您提供与第一个列表对应的每个项目的每件商品价格。

例如,如果您想购买第一件商品的2件,每件售价5美元,购买3件第二件商品,每件售价8美元,依此类推。

我想写一个函数来计算列表a中项目的总价格。例如,结果将是

160 = 2 * 5 + 3 * 8 + 5 * 4 + 7 * 1 + 9 * 11

3 个答案:

答案 0 :(得分:4)

sumzip

>>> a = [2, 3, 5, 7, 9]
>>> b = [5, 8, 4, 1, 11]
>>> sum(count*price for count, price in zip(a,b))
160
  

请告诉我们如何将列表a和b作为参数提供给def unique_common(a,b)等函数

>>> def total_price(a, b):
...     return sum(count*price for count, price in zip(a,b))
... 
>>> a = [2, 3, 5, 7, 9]
>>> b = [5, 8, 4, 1, 11]
>>> total_price(a, b)
160

答案 1 :(得分:1)

也许解决方案是使用NumPy,代码应该是非常不言自明的:

import numpy as np

a = np.array([2,3,5,7,9])
b = np.array([5,8,4,1,11])

c = a*b
d = np.sum(c)
print(d)

答案 2 :(得分:0)

您也可以使用map

>>> a = [2, 3, 5, 7, 9] 
>>> b = [5, 8, 4, 1, 11]
>>> sum(map(lambda x: x[0] * x[1], zip(a, b)))
160