Función Python reduce()
Funciones integradas de Python
Descripción
reduce()La función acumula los elementos de la secuencia de parámetros.
La función realiza la siguiente operación con todos los datos de una colección de datos (lista, tupla, etc.): utiliza la función function (con dos parámetros) pasada a reduce para operar primero sobre el 1.º y 2.º elemento de la colección, luego el resultado se opera con el tercer dato mediante la función function, y finalmente se obtiene un resultado.
Nota:En Python 3.x, reduce() se ha movido al módulo functools. Si queremos usarlo, necesitamos importar el módulo functools para llamar a la función reduce():
from functools import reduce
Sintaxis
Sintaxis de la función reduce():
reduce(function, iterable[, initializer])
Parámetros
- function -- función, con dos parámetros
- iterable -- objeto iterable
- initializer -- opcional, parámetro inicial
Valor de retorno
Devuelve el resultado del cálculo de la función.
Ejemplos
Los siguientes ejemplos muestran cómo usar reduce():
Ejemplo (Python 2.x)
# -*- coding: UTF-8 -*-
def add(x, y) : # Sumar dos números
return x + y
sum1 = reduce(add, [1,2,3,4,5]) # Calcular la suma de la lista: 1+2+3+4+5
sum2 = reduce(lambda x, y: x+y, [1,2,3,4,5]) # Usar la función anónima lambda
print(sum1)
print(sum2)
Ejemplo (Python 3.x)
from functools import reduce
def add(x, y) : # Sumar dos números
return x + y
sum1 = reduce(add, [1,2,3,4,5]) # Calcular la suma de la lista: 1+2+3+4+5
sum2 = reduce(lambda x, y: x+y, [1,2,3,4,5]) # Usar la función anónima lambda
print(sum1)
print(sum2)
El resultado de salida de los ejemplos anteriores es:
15 15Otras extensiones