Una función lambda es una pequeña función anónima que puede tomar cualquier número de argumentos y devuelve una expresión.
Su sintaxis es:
lambda argumentos : expresión
Por ejemplo, una función lambda para sumar dos números podría ser esta:
>>> sumados = lambda num1 , num2 : num1 + num2
>>> sumados(2,5)
7
En el siguiente ejemplo la función lambda devuelve True para los elementos que cumplen la condición de tener menos de 6 caracteres y False para los que no.
>>> lista = [ 'zorro','oso','tigre','antílope' ]
>>> caracteres = lambda elemento: len(elemento)<6
>>> for elemento in lista:
... print(caracteres(elemento))
...
True
True
True
False
El siguiente ejemplo usa la función lambda para averiguar que elementos contienen la letra ‘e’.
>>> lista = [ 'zorro','oso','tigre','antilope' ]
>>> con_e = lambda elemento: 'e' in elemento
>>> for elemento in lista:
... print(con_e(elemento),elemento)
...
False zorro
False oso
True tigre
True antilope
Las funciones lambdas se pueden usar para escribir menos código como en el siguiente ejemplo en el que se obtiene una lista con las longitudes en caracteres de una lista.
>>> lista = [ 'zorro','oso','tigre','antilope' ]
>>> longitud = list(map(lambda elemento: len(elemento),lista))
>>> longitud
[5, 3, 5, 8]
O para obtener los cuadrados de una serie de elementos.
>>> num = [ 2 , 3 , 5 , 7 , 11 , 13 ]
>>> cuadrados = list(map(lambda n : n**2,num))
>>> cuadrados
[4, 9, 25, 49, 121, 169]