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

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

Susan Sarandon
Freigeben: 2024-12-10 11:39:14
Original
606 Leute haben es durchsucht

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

Ermitteln der kumulativen Summe von Zahlen in einer Liste

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

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

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!

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