首頁 > 後端開發 > Python教學 > 如何有效率地計算一列數字的累加和?

如何有效率地計算一列數字的累加和?

Linda Hamilton
發布: 2024-12-10 22:24:12
原創
880 人瀏覽過

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

高效計算清單中數字的累積和

在電腦程式設計中,經常需要計算清單中數字的累積和一個清單。這是指將清單中的每個數字與先前的總和相加的過程。例如,如果原始清單包含 [4, 6, 12],則累積和將為 [4, 10, 22]。

一個簡單的方法是手動循環清單並更新累積和使用以下步驟:

t1 = time_interval[0]
t2 = time_interval[1] + t1
t3 = time_interval[2] + t2
登入後複製

但是,這種方法可能效率低下,尤其是對於大型清單。對於涉及數組的複雜數值運算,建議使用 Numpy 等函式庫。 Numpy 提供了一個名為cumsum 的專門函數來計算累積和:

import numpy as np

a = [4, 6, 12]

np.cumsum(a)  # Output: array([4, 10, 22])
登入後複製

Numpy 比純Python 實現具有顯著的性能優勢,如以下基準測試所示:

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功能強大,但如果累積和是唯一需要的操作,則可能沒有必要。但是,如果您的專案涉及大量數值運算,則值得考慮。

以上是如何有效率地計算一列數字的累加和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板