Как работает функция functools.reduce() в Python

Функция Python functools.reduce() используется для применения определенной функции, переданной в ее аргументе, ко всем элементам списка, заданным в последовательности.

Синтаксис

Параметры

Функция reduce() принимает два обязательных параметра и один необязательный аргумент.

  1. function: она будет принимать два значения из итерации и генерировать временный результат.
  2. iterable: это список, словарь, кортеж или другие итерируемые объекты.
  3. initializer: это начальное значение, которое может быть обработано в функции.

Пример 1: как использовать функцию reduce() в Python

Выход

Вы можете видеть, что список чисел сводится к одному значению, которое представляет собой сложение всех элементов списка.

Когда вы вызываете функцию reduce(), передавая функцию add() и числа в качестве аргументов, вы получаете вывод, который показывает все вычисления, которые выполняет метод reduce(), чтобы уменьшить его до единственного значения 115. В этом случае операции эквивалентны(((((0 + 11) + 19) + 21) + 18) + 46) = 115.

Пример 2: использование функции reduce() с операторными функциями

Выход

Пример 3: функция reduce() с тремя параметрами

Выход

Пример 4: reduce() или accumulate()

Основное различие между функциями functools.reduce() и itertools.accumulate() заключается в том, что функция reduce() сохраняет промежуточный результат и возвращает только итоговое значение суммирования. В то время как accumulate() возвращает итератор, содержащий промежуточные результаты. Последнее число возвращаемого итератора является суммирующим значением списка.

Выход

Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python