首页 > 后端开发 > Python教程 > 如何在Python中高效计算列表的累加和?

如何在Python中高效计算列表的累加和?

Patricia Arquette
发布: 2024-12-09 15:56:16
原创
201 人浏览过

How Can I Efficiently Calculate the Cumulative Sum of a List in Python?

Python 中的累积和

问题:

我们如何找到列表中数字的累积和,例如[4, 4 6, 4 6 12]?

简介:

计算累积和涉及重复将下一个元素添加到运行总和中。虽然这可以通过简单的循环来实现,但使用 NumPy 或自定义 Python 生成器有更有效的方法。

NumPy 方法:

NumPy 的 cumsum 函数提供了一个有效的解决方案:

import numpy as np

time_interval = [4, 6, 12]
np.cumsum(time_interval)
# Output: [4, 10, 22]
登录后复制

此方法经过高度优化,建议用于大型数值运算

Python 生成器:

对于纯 Python 中简洁且节省内存的解决方案,请考虑使用生成器:

def accumu(iterable):
    yield next(iterable)
    for item in iterable:
        yield item + sum(accumu(iterable))
登录后复制

使用此生成器:

list(accumu(time_interval))
# Output: [4, 10, 22]
登录后复制

该生成器惰性地累积元素,使其适合迭代大型序列或当内存是一个问题时。

以上是如何在Python中高效计算列表的累加和?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板