Reduce
Implementiere eine generische Funktion namens
reduce
, die drei Argumente akzeptiert: eine Funktion (als erstes Argument), eine Liste (als zweites Argument) und einen Anfangswert (als drittes Argument).Die
reduce
-Funktion soll die gegebene Funktion wiederholt auf die Elemente der Liste anwenden. Dabei wird ein laufender Gesamtwert beibehalten, der mit dem dritten Argument initialisiert wird. Am Ende soll ein einzelner Ergebniswert zurückgegeben werden.Die
reduce
-Funktion sollte die folgenden Schritte ausführen:- Alle Argumente entgegennehmen.
- Über die Liste iterieren und bei jedem Schritt die gegebene Funktion auf den laufenden Gesamtwert und das aktuelle Listenelement anwenden.
- Nach Verarbeitung aller Elemente in der Liste den endgültigen Wert des laufenden Gesamtwerts zurückgeben.
def reduce():
...
print(reduce(lambda total, item: total + item, [1, 2, 3, 4], 0)) # 10
print(reduce(lambda total, item: total + item, [1, 2, 3, 4], 4)) # 14
print(reduce(lambda total, item: total * item, [1, 2, 3, 4], 1)) # 24
print(reduce(lambda total, item: max(total, item), [1, 2, 3, 4], 0)) # 4
print(reduce(lambda total, item: min(total, item), [1, 2, 3, 4], 0)) # 0
print(reduce(lambda total, item: min(total, item), [1, 2, 3, 4], 5)) # 1
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB