索引对之间的子数组中数值的总和

发布于 2021-01-29 14:55:56

假设我有一个数组A。我有一系列索引对(a1,b1),(a2,b2)…(an,bn)

我想获取这些对之间元素的所有和。即

sum(A[a1:b1]), sum(A[a2:b2]), sum(A[a3:b3]) ...

就运行时而言,最有效的方法是什么?

谢谢!

关注者
0
被浏览
81
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    假设您的索引对存储在一个NumPyindices形状的数组中(n, 2)并且n相当大,最好避免任何Python循环:

    c = numpy.r_[0, A.cumsum()][indices]
    sums = c[:,1] - c[:,0]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看