首頁 > 後端開發 > 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 中的累積和

問題:

我們如何找到清單中數字的累積和,例如[44 , 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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板