⊗pyPmFnLa 16 of 129 menu

Función Lambda en Python

Supongamos que tenemos una función func, que toma como parámetros una lista y un callback. La función creará una nueva lista a partir de los elementos de la lista original. Al mismo tiempo, se aplicará el callback a cada uno de los elementos:

def func(lst, callback): res = [] for el in lst: res.append(callback(el)) return res

Ahora creemos una función square, que elevará al cuadrado el número que se le pase:

def square(num): return num ** 2

Pasemos a los parámetros de func una lista numérica y la función square como callback:

print( func([1, 2, 3], square) )

En la consola se mostrará una nueva lista, que consiste en los cuadrados de los números:

[1, 4, 9]

Sin embargo, este código se puede acortar significativamente usando la función lambda - una función anónima, que se llama con la palabra clave lambda y se escribe en una sola línea. Por lo tanto, en la función lambda solo se pueden reescribir funciones cuyo código ocupa una línea.

La sintaxis de la función lambda se ve así:

lambda parámetro de la función: operación con el parámetro de la función

Reescribamos la función square usando una función lambda y pasémosla al parámetro func:

print( func([1, 2, 3], lambda num: num ** 2) )

La función lambda se puede asignar a una variable:

square = lambda num: num ** 2 print( func([1, 2, 3], square) )

Reescriba el siguiente código usando una función lambda:

def func(num, clb): return clb(num) def clb(num): return num + 1 print( func(2, clb) )

Reescriba el siguiente código usando una función lambda:

def func(num, clb1, clb2): return (clb1(num), clb2(num)) def clb1(num): return num + 1 def clb2(num): return num - 1 print( func(2, clb1, clb2) )

Reescriba el siguiente código usando una función lambda:

def func(num1, num2, clb): res = clb(num1) + num2 return res def clb(num): return num ** 3 print(func(2, 6, clb))
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar