objectif
Calculer la somme cumulée et d’autres agrégats sur un flux.
code minimal
import itertools, operator
data = [1,2,3]
s = list(itertools.accumulate(data, operator.add))
print(s == [1,3,6]) # attendu: True
utilisation
import itertools
print(list(itertools.accumulate([3,1,4], min))[-1] == 1)
variante(s) utile(s)
import itertools, operator
prod = list(itertools.accumulate([2,3,4], operator.mul))[-1]
print(prod == 24)
notes
- Passez n’importe quelle fonction associative (min, max, add, mul, etc.).
- Utile pour soldes cumulés, paliers, enveloppes.