【问题标题】:Finding the cumulative sum of a list [duplicate]查找列表的累积总和[重复]
【发布时间】:2020-02-19 23:55:18
【问题描述】:

我正在尝试创建一个函数,该函数将列表作为参数,然后返回一个包含该列表累积总和的新列表。例如:

l = [1, 7, -3, 9, -2]

会变成:

[1, 8, 5, 14, 12]

我也在尝试为此函数使用for 循环。

【问题讨论】:

    标签: python python-3.x list for-loop


    【解决方案1】:

    Python 让这变得超级简单:

    >>> l = [1, 7, -3, 9, -2]
    >>> [ sum(l[:n+1]) for n in range(len(l)) ]
    [1, 8, 5, 14, 12]
    

    【讨论】:

      【解决方案2】:

      使用itertools.accumulate:

      >>> from itertools import accumulate
      >>> list(accumulate([1, 7, -3, 9, -2]))
      [1, 8, 5, 14, 12]
      

      【讨论】:

      • 你为什么要回答一个你投票结束的问题,作为一个副本,在 dup 中使用该答案?有点超过关闭的目的
      • @Tomerikoo 我在投票结束之前回答了。这个答案仍然有用,因为它向 OP 展示了如何获得他们想要的东西。
      • 像这样以及重复中的更多答案......这就是重复的重点,关闭新答案的问题,因为链接中已经有很多可以帮助 OP
      猜你喜欢
      • 1970-01-01
      • 2018-03-02
      • 2018-07-02
      • 1970-01-01
      • 2013-03-31
      • 2022-01-11
      • 1970-01-01
      • 2019-12-24
      • 2015-10-26
      相关资源
      最近更新 更多