Problem:
Gegeben eine Liste von Zahlen, möchten wir die kumulative Summe ermitteln Summe, was bedeutet, dass die Zahlen vom Anfang der Liste an einzeln summiert werden. Wenn wir beispielsweise eine Liste [4, 6, 12] haben, möchten wir [4, 4 6, 4 6 12] erhalten, was zu [4, 10, 22] führt.
Antwort :
Für numerische Operationen an Arrays wird empfohlen, NumPy in Betracht zu ziehen, eine leistungsstarke Python-Bibliothek. Es verfügt über eine praktische kumulative Summenfunktion, cumsum:
import numpy as np a = [4,6,12] np.cumsum(a) #array([4, 10, 22])
NumPy übertrifft bei solchen Aufgaben oft reines Python. Hier ist ein Vergleich mit einer anderen Funktion, 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
Obwohl NumPy Geschwindigkeitsvorteile bietet, ist es wichtig zu bedenken, dass eine Abhängigkeit möglicherweise nicht erforderlich ist, wenn NumPy nur für eine einzelne Aufgabe benötigt wird.
Das obige ist der detaillierte Inhalt vonWie kann ich die kumulative Summe einer Zahlenliste in Python effizient berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!