Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich die kumulative Summe einer Liste in Python effizient berechnen?

Wie kann ich die kumulative Summe einer Liste in Python effizient berechnen?

Patricia Arquette
Freigeben: 2024-12-09 15:56:16
Original
204 Leute haben es durchsucht

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

Kumulative Summe in Python

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]
Nach dem Login kopieren

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))
Nach dem Login kopieren

Verwenden Sie diesen Generator:

list(accumu(time_interval))
# Output: [4, 10, 22]
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage