python - 创建一个新的 python 列表,显示另一个列表中集合数字的累积总数,而不使用 for 循环
问题描述
我有一个 python 列表(lpttg1 = [1,2,3,4,5])并且想在这个列表中添加数字以创建一个具有累计总数的新列表。所以输出列表应该是这样的 [1.0, 3.0, 6.0, 10.0, 15.0]。这可以使用 for 循环来完成,如下面的代码段所示。我想知道是否有矢量化形式或任何其他方法来删除 for 循环并执行任务。
lpttg1 = [1,2,3,4,5]
AcccumMeltlp1 = []
MMeltlp1 = 0.
for i in lpttg1:
#print i
MMeltlp1 = MMeltlp1+i
#print MMeltbas_peri
AcccumMeltlp1.append(MMeltlp1)
AcccumMeltlp1
谢谢
解决方案
numpy.cumsum()
当我们想要计算给定轴上数组元素的累积和时,您正在寻找函数。
import numpy as np
in_arr = np.array([1,2,3,4,5,6])
output_array = np.cumsum(in_arr)
output_array
array([ 1, 3, 6, 10, 15, 21])
文档以获得更多帮助
推荐阅读
- java - 如何将 switch-case 替换为 OOP
- bash - shell - 是的,没有提示使用案例不起作用
- c# - C#:MVVM ASP.net API 授权错误
- css - 在CSS中隐藏div下的跨度
- reactjs - 如何将 jquery 转换为反应 js
- azure-pipelines - Azure DevOps 中的差异代码覆盖率
- cts - 通过 CI 工具实现 CTS Android 自动化
- php - Laravel 存储磁盘 put 在 live 服务器上出现内部服务器错误 500 | 没有创建日志
- sql - SQL 视图中 NULL 值的一般替换
- jpa - 如何避免 JPA 中的 @UniqueConstraint 搜索查询