爲了學習的目的,我試圖做一個使用Python的函數,它接受另一個函數和兩個數組作爲參數,並在每個數組參數的每個索引上調用函數參數。所以這應該調用添加a1 [0] & a2 [0],a1 [1] & a2 [1]等,但我回來的是一個生成器對象。怎麼了?Python,如何使一個函數作爲參數以及兩個數組?
def add(a,b):
yield a + b
def generator(add,a1,a2):
for i in range(len(a1)):
yield add(a1[i],a2[i])
g = generator(add,a1,a2)
print g.next()
我還試圖取代我有什麼對產量以上
yield map(add,a1[i],a2[i])
但是,工作就更少了。我得到這個:
TypeError: argument 2 to map() must support iteration
產量產生一個發電機對象,它看起來像你有一個發電機的發電機,也許你只是想返回總和從添加? – dm03514 2012-02-09 15:47:51
你已經得到了答案,但你也可以做 'map(add,a,b)'或'(i + j for i,j in zip(a,b))' – 2012-02-09 15:51:20