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

如何在Python中高效计算数字列表的累积和?

Susan Sarandon
发布: 2024-12-10 11:39:14
原创
604 人浏览过

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

查找列表中数字的累积和

问题:
给定一个数字列表,我们想要找到累积值sum,意思是从列表的开头开始对数字进行一一求和。例如,如果我们有一个列表 [4, 6, 12],我们想要得到 [4, 4 6, 4 6 12],从而得到 [4, 10, 22]。

答案:

对于数组的数值运算,建议考虑 NumPy,一个强大的 Python 库。它具有方便的累积和函数 cumsum:

import numpy as np

a = [4,6,12]

np.cumsum(a)
#array([4, 10, 22])
登录后复制

对于此类任务,NumPy 通常优于纯 Python。下面是与另一个函数 Accumu 的比较:

In [136]: timeit list(accumu(range(1000)))
10000 loops, best of 3: 161 us per loop

In [137]: timeit list(accumu(xrange(1000)))
10000 loops, best of 3: 147 us per loop

In [138]: timeit np.cumsum(np.arange(1000))
100000 loops, best of 3: 10.1 us per loop
登录后复制

虽然 NumPy 提供速度优势,但重要的是要记住,如果 NumPy 仅需要单个任务,则可能不需要依赖项。

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

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