Seite 1 von 1

Weshalb wurde `reduce()` nach `functools` verschoben?

Verfasst: Samstag 30. Januar 2016, 18:05
von mutetella
Hallo,

mit Python 3 wurde die bis dato in den built ins enthaltene `reduce` Funktion in das `functools` Modul verschoben. Soweit so gut. Nur: Wäre die Funktion thematisch eigentlich nicht im `itertools` Modul besser aufgehoben?

Re: Weshalb wurde `reduce()` nach `functools` verschoben?

Verfasst: Samstag 30. Januar 2016, 18:13
von DasIch
Erster Satz in der Dokumentation zum itertools Modul:
This module implements a number of iterator building blocks[...]

Re: Weshalb wurde `reduce()` nach `functools` verschoben?

Verfasst: Samstag 30. Januar 2016, 18:16
von Sirius3
@mutetella: welchen Iterator liefert denn reduce zurück?!

Re: Weshalb wurde `reduce()` nach `functools` verschoben?

Verfasst: Samstag 30. Januar 2016, 18:57
von pillmuncher
@mutetella: Es ist ja in itertools, nur heißt es da accumulate() und hat eine leicht andere Parameter-Spezifikation.

@Sirius3: welchen Iterator liefert denn accumulate zurück?! :mrgreen:

Re: Weshalb wurde `reduce()` nach `functools` verschoben?

Verfasst: Samstag 30. Januar 2016, 19:13
von Sirius3
@pillmuncher: accumulate liefert einen Iterator, der das Ergebnis jeder einzelnen Operation zurückliefert, im Gegensatz zu reduce, das nur das letzte Ergebnis zurückliefert.

Re: Weshalb wurde `reduce()` nach `functools` verschoben?

Verfasst: Samstag 30. Januar 2016, 19:25
von pillmuncher
@Sirius3: Hoppla, da hat mich mein schlechtes Gedächtnis auf's Glatteis geführt. Ich bin alt ("Runter vom Rasen!!"). Der Punkt geht an Dich.