我需要函数聚合器,它将两个列表减少为一个总数。 '物品'应该是布尔人的矢量。Python;实现按元素向量乘法的最高性能方法
所以,我写这些功能:
def element_wise_multiplication(weights, items):
return map(lambda x, y: x * y, weights, items)
def total(weights, items):
return sum(element_wise_multiplication(weights, items))
他们看起来OK我,但问题是,探查表明,随着它拉姆达行负责运行的95%,所以它的性能几乎不可接受。
什么是最有效的实现方法?
P.S.我知道NumPy的数组,但我想在这个上使用PyPy。或者在这种情况下使用它不值得吗?
在PyPy上,只需要在简单的循环中编写它就会好得多。再加上你的代码会更具可读性。 – fijal 2012-01-12 12:14:47