Reduce

Implementa una función genérica llamada reduce que acepte tres argumentos: una función (como primer argumento), una lista (como segundo argumento) y un valor inicial (como tercer argumento).
El propósito de la función reduce es aplicar iterativamente la función dada a los elementos de la lista, mientras mantiene un total acumulado inicializado con el tercer argumento, y finalmente devolver un único valor resultante.
La función reduce debe realizar los siguientes pasos:
  1. Aceptar todos los argumentos.
  1. Iterar sobre la lista, aplicando la función proporcionada al total acumulado y al elemento actual de la lista en cada paso.
  1. Después de procesar todos los elementos de la lista, devolver el valor final del total acumulado.
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