capítulo anterior: Expresiones Regulares, avanzado
capítulo siguiente: comprensión de Lista

Lambda, filter, reduce and map

Lambda Operator

a algunos les gusta, otros lo odian y muchos tienen miedo del operador lambda. Estamos seguros de que le gustará, cuando haya terminado con este capítulo de nuestro tutorial., Si no, usted puede aprender todo sobre «comprensiones de la lista», Guido van Rossums forma preferida de hacerlo, porque no le gusta Lambda, mapa, filtro y reducir tampoco.
El operador lambda o la función lambda es una forma de crear pequeñas funciones anónimas, es decir, funciones sin nombre. Estas funciones son funciones de desecho, es decir, solo son necesarias donde se han creado.Las funciones Lambda se utilizan principalmente en combinación con las funciones filter (), map () y reduce ().La característica lambda fue añadida a Python debido a la demanda de los programadores de Lisp.,
la sintaxis general de una función lambda es bastante simple:
lambda argument_list: expression
la lista de argumentos consiste en una lista de argumentos separados por comas y la expresión es una expresión aritmética que utiliza estos argumentos. Puede asignar la función a una variable para darle un nombre.
el siguiente ejemplo de una función lambda devuelve la suma de sus dos argumentos:

>>> f = lambda x, y : x + y>>> f(1,1)2

la función map ()

la ventaja del operador lambda se puede ver cuando se usa en combinación con la función map ().,
map () es una función con dos argumentos:

r = map(func, seq)

el primer argumento func es el nombre de una función y el segundo una secuencia (por ejemplo, una lista) seq. map() aplica la función func a todos los elementos de la secuencia seq. Devuelve una nueva lista con los elementos cambiados por funcIn en el ejemplo anterior no hemos usado lambda. Usando lambda, no habríamos tenido que definir y nombrar las funciones Fahrenheit () y celsius (). Puede ver esto en la siguiente sesión interactiva:map() se puede aplicar a más de una lista. Las listas tienen que tener la misma longitud., map() aplicará Su función lambda a los elementos de las listas de argumentos, es decir, primero se aplica a los elementos con el índice 0, luego a los elementos con el índice 1 hasta que se alcance el n-ésimo índice:

>>> a = >>> b = >>> c = >>> map(lambda x,y:x+y, a,b)>>> map(lambda x,y,z:x+y+z, a,b,c)>>> map(lambda x,y,z:x+y-z, a,b,c)

podemos ver en el ejemplo anterior que el parámetro x obtiene sus valores de la lista a, mientras que y obtiene sus valores de B Y z de la lista C.

Filtering

the function filter(function,list) ofrece una forma elegante de filtrar todos los elementos de una lista, para los que la función function devuelve true.
El filtro de función (f,l) necesita una función f como su primer argumento., F devuelve un valor booleano, es decir, eitherTrue o False. Esta función se aplicará a cada elemento de la lista l. solo si F devuelve True el elemento de la lista se incluirá en la lista de resultados.

reduciendo una lista

la función reduce (func, seq) aplica continuamente la función func () a la secuencia seq. Devuelve un valor único.,
If seq =, calling reduce (func, seq) works like this:
ilustramos este proceso en el siguiente ejemplo:

>>> reduce(lambda x,y: x+y, )113

el siguiente diagrama muestra los pasos intermedios del cálculo:

ejemplos de reduce ()

determinando el máximo de una lista de valores numéricos usando reduce:

>>> f = lambda a,b: a if (a > b) else b>>> reduce(f, )102>>> 

calculando la suma de los números del 1 al 100:

>>> reduce(lambda x, y: x+y, range(1,101))5050

capítulo anterior: Expresiones Regulares, avanzadas
capítulo siguiente: comprensión de Lista

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *