首页 > 解决方案 > 创建一个新的 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

谢谢

标签: pythonlistfor-loopparallel-processingvectorization

解决方案


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])

文档以获得更多帮助


推荐阅读