Функция reduce() в Python

Python 内置函数Встроенные функции 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)

#!/usr/bin/python
# -*- 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)

#!/usr/bin/python
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 内置函数Встроенные функции Python

Другие расширения