python - 对数组中所有元素的范围内的元素求和
问题描述
我必须从数组中获取范围的总和。然而,数组范围需要从一个元素移动到另一个元素。例如,如果数组是1,2,3,4,5,6
并且如果每两个元素都需要添加,那么它应该添加比1+2
等等。2+3
3+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 个元素。
解决方案
您可以使用检索列表的列表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]
推荐阅读
- r - 在 2 种条件下变异 3 列碱基
- reactjs - 在 useEffect 中添加了 isCancelled 标志,但仍然出现“无法对未安装的组件执行 React 状态更新...”
- java - 片段中的 Android RecyclerView 适配器不起作用
- powershell - 将 2 个 Powershell 脚本合二为一
- amazon-web-services - AWS s3 rb 在 CLI 中不起作用,如何删除 s3 存储桶中的文件?
- javascript - SyntaxError: JSON.parse() 中位置 1 的 JSON 中的意外标记 e
- php - Laravel 7.x 中最省力的多表继承 (MTI) 支持
- mysql - Laravel:多个查询与存储过程
- pug - 翡翠与哈巴狗
- apollo - apollo MockedProvider + Storybook 不工作