itertools.accumulate()

Возвращает накопленные суммы или результаты применения функции func.

Сигнатураitertools.accumulate(iterable, func=operator.add, *, initial=None)

Выдаёт промежуточные результаты: первый элемент, затем результат применения func к накопленному значению и следующему элементу. По умолчанию используется сложение, что даёт нарастающую сумму. Можно передать max, min или любую бинарную функцию.

import itertools
import operator

print(list(itertools.accumulate([1, 2, 3, 4])))  # [1, 3, 6, 10]
print(list(itertools.accumulate([1, 2, 3, 4], operator.mul)))  # [1, 2, 6, 24]
print(list(itertools.accumulate([3, 1, 4, 1, 5], max)))  # [3, 3, 4, 4, 5]
← Все записи: Модуль itertools в Python
Поддержать проект