functools.reduce

Сворачивает итерируемый объект в одно значение, последовательно применяя функцию двух аргументов к накопленному результату.

Сигнатураfunctools.reduce(function, iterable[, initializer])

reduce применяет функцию слева направо: сначала к первым двум элементам, затем к результату и следующему элементу и так далее. Необязательный initializer задаёт стартовое значение и страхует от ошибки на пустой последовательности.

from functools import reduce

product = reduce(lambda a, b: a * b, [1, 2, 3, 4])
print(product)   # 24

total = reduce(lambda a, b: a + b, [], 0)
print(total)     # 0 (благодаря initializer)
← Все записи: Модули collections и functools
Поддержать проект