Справочник по функциям Python

functools.reduce

Сворачивает элементы в одно значение, применяя функцию по очереди.

Python 3.13
functools.reduce(function, iterable[, initial])

Параметры

functionCallable
Функция двух аргументов: накопленное значение и очередной элемент.
iterableIterable
Элементы для свёртки.
initialAnyнеобязательный
Начальное значение; с ним пустой iterable не вызывает ошибку.

Возвращаемое значение

Итоговое накопленное значение.

Примеры

Произведение чисел

Python 3.13
from functools import reduce

print(reduce(lambda acc, x: acc * x, [1, 2, 3, 4]))
24

Начальное значение для пустого списка

Python 3.13
from functools import reduce

print(reduce(lambda acc, x: acc + x, [], 0))
0

Подробности

Для пустого iterable без initial вызывает TypeError. Для частых случаев есть готовые функции — sum, math.prod, max, min, str.join: они понятнее.

Смотрите также