为了学习的目的,我试图做一个使用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