Функция reduce() в Python
Описание
reduce()Функция накапливает элементы в последовательности параметров.
Функция выполняет следующие операции со всеми данными в коллекции данных (список, кортеж и т. д.): сначала она использует функцию, переданную в reduce (которая имеет два параметра), чтобы обработать 1-й и 2-й элементы коллекции, затем использует эту функцию, чтобы обработать полученный результат с третьим элементом данных, и в итоге получает результат.
Примечание:В Python 3.x функция reduce() была перемещена в модуль functools. Если мы хотим использовать её, нам нужно импортировать модуль functools, чтобы вызвать функцию reduce():
from functools import reduce
Синтаксис
Синтаксис функции reduce() выглядит следующим образом:
reduce(function, iterable[, initializer])
Parameters
- function -- функция с двумя параметрами
- iterable -- итерируемый объект
- initializer -- Необязательный, начальный параметр
Возвращаемое значение
Возвращает вычисленный результат функции.
Примеры
Следующие примеры демонстрируют использование reduce():
Пример (Python 2.x)
# -*- coding: UTF-8 -*-
def add(x, y) : # Сложить два числа
return x + y
sum1 = reduce(add, [1,2,3,4,5]) # Вычислить сумму списка: 1+2+3+4+5
sum2 = reduce(lambda x, y: x+y, [1,2,3,4,5]) # Использовать анонимную функцию lambda
print(sum1)
print(sum2)
Пример (Python 3.x)
from functools import reduce
def add(x, y) : # Сложить два числа
return x + y
sum1 = reduce(add, [1,2,3,4,5]) # Вычислить сумму списка: 1+2+3+4+5
sum2 = reduce(lambda x, y: x+y, [1,2,3,4,5]) # Использовать анонимную функцию lambda
print(sum1)
print(sum2)
Вывод приведённых выше примеров:
15 15Другие расширения
Встроенные функции Python