首页 > 解决方案 > 对数组中所有元素的范围内的元素求和

问题描述

我必须从数组中获取范围的总和。然而,数组范围需要从一个元素移动到另一个元素。例如,如果数组是1,2,3,4,5,6并且如果每两个元素都需要添加,那么它应该添加比1+2等等。2+33+4

我试过但没有得到正确的方法。我确信有一种pythonic方式可以做到这一点。

这是我尝试过的

data = np.arange(0,20,.3)
for i in range (0,len(data)):
    for j in range(i,len(data)):
        get_range = data[j:5]
        get_add = get_range.sum()
        print("sum:",get_add) 

我试图在这里添加每 5 个元素。

标签: pythonarrayslistdata-structures

解决方案


您可以使用检索列表的列表chunks推导。

l = [1,2,3,4,5,6]
n = 2
output = [sum(l[i:i + n]) for i in range(0, len(l) - n + 1, 1)]

输出

[3, 5, 7, 9, 11]

推荐阅读