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:
  1. Alle Argumente entgegennehmen.
  1. Über die Liste iterieren und bei jedem Schritt die gegebene Funktion auf den laufenden Gesamtwert und das aktuelle Listenelement anwenden.
  1. 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

To check your solution you need to sign in
Sign in to continue