在python中计算此总和的最有效方法

时间:2016-02-03 14:43:18

标签: python numpy optimization

假设我有一个长度约为40的列表“A”,由0到5的整数和一个“得分”列表组成。我想计算得分[A [i]]的总和。

当然,我可以这样做:

sum = 0 
for x in A do:
    sum += Score[x]

但有更快的方法吗?我知道numpy可以进行列表的乘法运算,但这需要某种索引。

2 个答案:

答案 0 :(得分:2)

我看到了那些解决方案:

print sum(Score[x] for x in A)
print sum(map(lambda x: Score[x], A))

答案 1 :(得分:1)

Python函数" sum"很有效率。它避免了内存开销(我相信它是用C语言编写的)并且应该更快一些。

看起来像这样

intSum = sum(array)