Frage:
Wie können wir die kumulative Summe von Zahlen in einer Liste finden, z [4, 4 6, 4 6 12]?
Einführung:
Die Berechnung der kumulierten Summe erfordert das wiederholte Addieren des nächsten Elements zur laufenden Summe. Während dies mit einer einfachen Schleife erreicht werden kann, gibt es effizientere Ansätze mit NumPy oder benutzerdefinierten Python-Generatoren.
NumPy-Methode:
Die Cumsum-Funktion von NumPy bietet eine effiziente Lösung :
import numpy as np time_interval = [4, 6, 12] np.cumsum(time_interval) # Output: [4, 10, 22]
Dieser Ansatz ist stark optimiert und wird für numerische Operationen im Großen und Ganzen empfohlen Arrays.
Python-Generator:
Für prägnante und speichereffiziente Lösungen in reinem Python sollten Sie die Verwendung eines Generators in Betracht ziehen:
def accumu(iterable): yield next(iterable) for item in iterable: yield item + sum(accumu(iterable))
Verwenden Sie diesen Generator:
list(accumu(time_interval)) # Output: [4, 10, 22]
Dieser Generator akkumuliert träge Elemente und eignet sich daher für die Iteration über große Sequenzen oder wann Das Gedächtnis ist ein Problem.
Das obige ist der detaillierte Inhalt vonWie kann ich die kumulative Summe einer Liste in Python effizient berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!