高效計算清單中數字的累積和
在電腦程式設計中,經常需要計算清單中數字的累積和一個清單。這是指將清單中的每個數字與先前的總和相加的過程。例如,如果原始清單包含 [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中文網其他相關文章!