Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die kumulative Summe einer Zahlenliste effizient berechnen?
Effiziente Berechnung der kumulativen Summe von Zahlen in einer Liste
Bei der Computerprogrammierung ist es oft notwendig, die kumulative Summe von Zahlen in zu berechnen eine Liste. Dies bezieht sich auf den Vorgang, bei dem jede Zahl in der Liste zur vorherigen Summe addiert wird. Wenn die ursprüngliche Liste beispielsweise [4, 6, 12] enthält, wäre die kumulative Summe [4, 10, 22].
Ein einfacher Ansatz besteht darin, die Liste manuell zu durchlaufen und die kumulative Summe zu aktualisieren Verwenden Sie die folgenden Schritte:
t1 = time_interval[0] t2 = time_interval[1] + t1 t3 = time_interval[2] + t2
Dieser Ansatz kann jedoch ineffizient sein, insbesondere bei großen Listen. Für komplexe numerische Operationen mit Arrays empfiehlt sich die Verwendung von Bibliotheken wie Numpy. Numpy bietet eine spezielle Funktion namens cumsum zur Berechnung der kumulativen Summe:
import numpy as np a = [4, 6, 12] np.cumsum(a) # Output: array([4, 10, 22])
Numpy bietet erhebliche Leistungsvorteile gegenüber reinen Python-Implementierungen, wie der folgende Benchmark zeigt:
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
Während Numpy ist leistungsstark, es ist möglicherweise nicht notwendig, wenn die kumulative Summe die einzige erforderliche Operation ist. Es ist jedoch eine Überlegung wert, wenn Ihr Projekt umfangreiche numerische Operationen umfasst.
Das obige ist der detaillierte Inhalt vonWie kann ich die kumulative Summe einer Zahlenliste effizient berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!