Библиотека Python разработчика | Книги по питону: post #4137 — TG.ME

«Reduce» — это функция высшего порядка, которая рекурсивно обрабатывает итерируемый объект, применяя некоторую операцию к следующему элементу и уже вычисленному значению. Также вы можете знать её под названиями «fold», «inject», «accumulate» или другими.

Использование reduce с result = result + element даёт сумму всех элементов, result = min(result, element) возвращает минимум, а result = element позволяет получить последний элемент последовательности.

В Python функция reduce доступна (начиная с Python 3, она была перемещена в functools.reduce):


from functools import reduce

print(reduce(lambda s, i: s + i, range(10))) # 45
print(reduce(lambda s, i: min(s, i), range(10))) # 0
print(reduce(lambda s, i: i, range(10))) # 9


Также, если вам нужны простые лямбда-функции, такие как lambda a, b: a + b, в Python есть модуль operator, который упрощает их использование:


from operator import add
print(reduce(add, range(10))) # 45


📲 Мы в MAX

👉@BookPython
👍5❤1🔥1
August 19, 2026 966 5