假设我有一个长度约为40的列表“A”,由0到5的整数和一个“得分”列表组成。我想计算得分[A [i]]的总和。
当然,我可以这样做:
sum = 0
for x in A do:
sum += Score[x]
但有更快的方法吗?我知道numpy可以进行列表的乘法运算,但这需要某种索引。
答案 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)