itertools.accumulate () kontra functools.reduce ()

W Pythonie 3.3,itertools.accumulate(), która zwykle wielokrotnie stosuje operację dodawania do dostarczanej iteracji, może teraz przyjąć argument funkcji jako parametr; Oznacza to, że teraz pokrywa się zfunctools.reduce(). Z pobieżnym spojrzeniem główne różnice między tymi dwoma wydają się być następujące:

accumulate() domyślnie sumuje, ale nie pozwala na wyraźne podanie dodatkowego warunku początkowegoreduce() nie domyślnie używa żadnej metody, ale pozwala na dostarczenie warunku początkowego do użycia z sekwencjami elementów 1/0 iaccumulate() zajmuje pierwsze miejscereduce() najpierw przyjmuje funkcję.

Czy są jakieś inne różnice między nimi? Czy jest to tylko kwestia zachowania dwóch funkcji o początkowo różnych zastosowaniach, które zaczynają zbiegać się w czasie?

questionAnswers(3)

yourAnswerToTheQuestion