functools.reduce
Применяет указанную функцию к элементам последовательности, сводя её к единственному значению.
functools.reduce(function, iterable[, initializer])
func -- Функция, которую требуется применить к элементам последовательности. Должна принимать два аргумента, где первый аргумент — аккумулированное ранее значение, а второй — следующий элемент последовательности.
iterable -- Последовательность, элементы которой требуется свести к единственному значению. Если последовательность пуста и не задан initializer, то возбуждается TypeError.
initializer=None -- Базовое значение, с которого требуется начать отсчёт. Оно же будет возвращено, если последовательность пуста.
iterable -- Последовательность, элементы которой требуется свести к единственному значению. Если последовательность пуста и не задан initializer, то возбуждается TypeError.
initializer=None -- Базовое значение, с которого требуется начать отсчёт. Оно же будет возвращено, если последовательность пуста.
Внимание
Функция полностью соответствует встроенной в Python 2 функции reduce(). Она была добавлена в данный модуль, для упрощения перехода на Python 3.
from functools import reduce
def reducer_func(el_prev, el):
# el_prev - предшествующий элемент
# el - текущий элемент
return el_prev + el
reduce(reducer_func, [1, 2, 3]) # 6
На заметку
Настоятельно рекомендуется использовать обычный проход по элементам при помощи for для повышения читаемости кода.
Синонимы поиска: functools.reduce, functools, reduce
На заметку
Зарегистрированные пользователи могут публиковать свои мнения относительно Книг, Видео, Статей других авторов и прочего в разделе Обсуждений.