2016-02-16 38 views
-1

功能:蟒蛇 - 繁殖,並在列表中與B名單添加的每個元素

高清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

+4

歡迎堆棧溢出!你似乎在要求某人爲你寫一些代碼。堆棧溢出是一個問答網站,而不是代碼寫入服務。請[see here](http://stackoverflow.com/help/how-to-ask)學習如何編寫有效的問題。 –

回答

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作爲參數傳遞給像高清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 
+0

可以請你告訴如何給一個列表a和b作爲一個函數像def unique_common(a,b): – rdeep

+0

@rdeep當然,這很容易。更新了我的答案。 – timgeb

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 
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)