itertools.accumulate () versus functools.reduce ()

In Python 3.3itertools.accumulate(), der normalerweise wiederholt eine Additionsoperation auf die angegebene Iterationsdatei anwendet, kann jetzt ein Funktionsargument als Parameter verwenden. das heißt, es überlappt jetzt mitfunctools.reduce(). Mit einem flüchtigen Blick scheinen die Hauptunterschiede zwischen den beiden jetzt zu sein:

accumulate() Standardmäßig wird summiert, Sie können jedoch währenddessen nicht explizit eine zusätzliche Anfangsbedingung angebenreduce() Standardmäßig wird keine Methode verwendet, Sie können jedoch eine Anfangsbedingung für die Verwendung mit 1/0-Elementsequenzen und angebenaccumulate() dauert die iterable erste Weilereduce() übernimmt zuerst die Funktion.

Gibt es noch andere Unterschiede zwischen den beiden? Oder ist dies nur eine Frage des Verhaltens zweier Funktionen mit anfänglich unterschiedlichen Nutzungen, die im Laufe der Zeit konvergieren?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage