Функция reduce ()
упрощает функциональный подход к программированию на Python. Он выполняет скользящее вычисление, как указано переданной функцией соседним элементам, принимая функцию и итерацию в качестве аргументов, и возвращает окончательное вычисленное значение.
Примечание. вычисление с вращением — это тот, где мы вычисляем требуемое значение, просматривая все данные, начиная с первого значения, где каждый новый результат зависит от последнего вычисленного результата предыдущих данных.
Вычисление функции reduce ()
аналогично вычислению цикла for в Python, но, будучи встроенной функцией, оно намного лучше и быстрее.
Синтаксис
Вот сигнатура функции reduce ()
в Python:
from functools import reduce # сигнатура функции для метода reduce ()returne d_value = reduce (функция, итерация)
Примечание : Функция
reduce ()
находится в модулеfunctools
, который должен быть импортирован перед вызовом функции.
Как описано выше, функция reduce ()
принимает в качестве входных данных два следующих аргумента:
-
function
: допустимая предопределенная функция. В большинстве случаев это лямбда-функция. -
iterable
: Это повторяемый объект (например, список, кортеж, словарь).
Возвращено: одно значение, полученное в результате применения функции к элементу итерации.
Примеры
Давайте взгляните на несколько примеров того, как работает метод reduce ()
:
1. Использование лямбда-функции
from functools import reduce # Возвращает сумму всех элементов, используя `reduce`result = reduce ((lambda a, b: a + b), [1, 2, 3, 4]) print (result)
2. Использование предопределенной функции
from functools import reduce # Возвращает сумму двух элементов. def sumTwo (a, b): return a + bresult = reduce (sumTwo, [1, 2, 3, 4]) print (result)