Réduction
Implémentez une fonction générique appelée
reduce
qui accepte trois arguments : une fonction (en tant que premier argument), une liste (en tant que deuxième argument) et une valeur initiale (en tant que troisième argument).Le but de la fonction
reduce
est d'appliquer de manière itérative la fonction donnée aux éléments de la liste, tout en maintenant un total cumulatif initialisé avec le troisième argument, et finalement de retourner une valeur unique résultante.La fonction
reduce
doit effectuer les étapes suivantes :- Accepter tous les arguments.
- Itérer sur la liste, en appliquant la fonction fournie au total courant et à l'élément actuel de la liste à chaque étape.
- Après avoir traité tous les éléments de la liste, retourner la valeur finale du total cumulatif.
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