In Python 3 verwenden Sie itertools.accumulate()
:
Accumulate liefert das laufende Ergebnis der Addition der Werte der Eingabe, beginnend mit dem ersten Wert:
%Vor% Sie können eine andere Operation als zweites Argument übergeben; Dies sollte eine aufrufbare Funktion sein, die das akkumulierte Ergebnis und den nächsten Wert annimmt und das neue akkumulierte Ergebnis zurückgibt. Das Modul operator
ist sehr hilfreich bei der Bereitstellung von mathematischen Standardoperatoren für diese Art von Arbeit. Sie könnten damit beispielsweise ein laufendes Multiplikationsergebnis erzeugen:
Die Funktionalität ist einfach genug, um auf ältere Versionen (Python 2 oder Python 3.0 oder 3.1) zurück zu portieren:
%Vor% Ok, du hast gesagt, du willst nicht numpy
, aber hier ist meine Lösung sowieso.
Es scheint mir, dass Sie einfach die kumulative Summe nehmen, verwenden Sie also die cumsum()
Funktion.
Für ein zufälliges Beispiel
%Vor%Tags und Links python list-comprehension