Skip to content
Generación Freelancer
Menu
  • Inicio
  • Noticias
  • Tutoriales
Menu

Comprender las funciones Lambda de Python con ejemplos

Posted on diciembre 25, 2022

En este tutorial aprenderás qué son las funciones lambda en python con la ayuda de varios ejemplos. Conozca los pros y los contras de usar funciones lambda.

Las funciones Lambda en Python son funciones anónimas, es decir, funciones sin nombre. La función normal se puede definir usando la palabra clave def y la palabra clave lambda se usa para definir la función lambda. La función Lambda toma cualquier cantidad de argumentos, pero solo una expresión.

Sintaxis: lambda arguments : expression

A continuación se muestra un programa simple que utiliza una función lambda.

Código:

lowercaseText = 'python interpreter'

# lambda function that converts lowercase text to upper case
uppercaseText = lambda word : word.upper()

print(uppercaseText(lowercaseText))

Producción:

Explicación: La función lambda uppercaseText convierte la cadena dada de letras minúsculas a mayúsculas y devuelve la nueva cadena.

Diferencias entre la función Lambda y la función regular

función lambda Función normal
1 Las funciones lambda se pueden definir mediante la palabra clave lambda. Por otro lado, puedes definir funciones normales en Python usando la palabra clave def.
2 Las funciones Lambda son más adecuadas para los casos en los que necesita hacer cosas pequeñas. Las funciones normales son más adecuadas para los casos en los que necesita escribir varias líneas de código.
3 Una gran desventaja de usar funciones lambda en Python es que reduce la legibilidad del código. Puede mantener la legibilidad de su código agregando comentarios entre declaraciones usando funciones normales.

A continuación se muestra el programa simple que usa lambdas y funciones normales, que se comportan como los demás, es decir, la misma funcionalidad/lógica.

Código:

# normal function to add given three numbers
def sumfunc (num1, num2, num3):
    return num1+num2+num3

# lambda function to add given three numbers    
sumlamfunc = lambda n1, n2, n3 : n1 + n2 + n3

print('Total sum -',sumfunc(10, 20, 30))
print('Total sum -',sumlamfunc(10, 20, 30))

Producción:

comportamiento de lambdas y funciones normales en python

Explicación: Aquí, la función normal (sumfunc) y la función lambda (sumlamfunc) tienen la misma funcionalidad, es decir, sumando los tres números dados.

Ejemplos de funciones Python Lambda

Ejemplos de la función Python lambda

A continuación se muestran algunos programas de ejemplo en los que se utilizan funciones lambda en varios casos.

Ejemplo 1: función lambda con sentencias if else

Código:

# lambda function that finds bigger number between given 2 numbers
Biggernumber = lambda num1, num2 : num1 if(num1 > num2) else num2

print('Bigger number between given 2 numbers is',Biggernumber(10,15))

Producción:

función lambda con sentencias if else

Explicación: La función lambda – Biggernumber encuentra el mayor de los dos números dados y devuelve el número mayor. Entre 10 y 15, 15 es mayor y se devuelve como resultado.

Ejemplo 2: función Lambda con comprensión de lista

Código:

# lambda function that creates a list of numbers
numbers = [lambda n=i : n for i in range(1,10)]

# print the list of numbers formed from the lambda function
for num in numbers:
    print(num())

Producción:

función lambda con comprensión de lista

Explicación: El código anterior crea una lista de números utilizando la función lambda.

Ejemplo 3: función Lambda con función filter()

La función filter() toma una función y una lista de números. Esto filtra todos los elementos de una secuencia determinada (lista) para los que la función devuelve True.

Código:

numbers = [1,2,3,4,5,6,7,8,9,10]

# filters the even numbers from given set of numbers using lambda function
even_numbers = list(filter(lambda n : n%2==0, numbers))
print(even_numbers)

Producción:

función lambda con función de filtro

Explicación: El código anterior crea una nueva lista de números pares utilizando la función lambda de la lista de números especificada.

Ejemplo 4: función Lambda con función map()

La función map() toma una función y una lista de números y devuelve una nueva lista de números que consta de todos los elementos lambda modificados devueltos por la función para cada elemento.

Código:

numbers = [1,2,3,4,5,6,7,8,9,10]

# finds the squares of numbers in the list
square_of_numbers = list(map(lambda n : n*n, numbers))
print(square_of_numbers)

Producción:

función lambda con función de mapa

Explicación: El código anterior devuelve una nueva lista de números que son valores cuadrados de una lista de números determinada.

Ejemplo 5: función Lambda con función reduce()

La función reduce() toma una función y una lista de números y devuelve un resultado reducido. Está presente en el módulo functools y se puede importar. El método reduce() realiza una operación repetitiva en los pares del iterable.

Código:

import functools
numbers = [10,2,30,4,50,6]

# finds the smallest number in the given list
smallest_number = functools.reduce(lambda n1,n2 : n1 if n1<n2 else n2, numbers)
print(smallest_number)

Producción:

lambda con función de reducción

Explicación: El código anterior devuelve el número más pequeño de la lista usando la función lambda pasada al método reduce().

Pros y contras de usar funciones lambda en Python

Profesionales:

  • Las funciones Lambda son concisas y fáciles de escribir, ya que se definen en una sola línea de código.
  • Puede usarlos para escribir código con un estilo más funcional, que puede ser más legible y fácil de mantener en algunos casos.
  • A menudo se usan como argumentos para funciones de orden superior, lo que le permite escribir código más expresivo al componer funciones simples.

Versus:

  • Debido a que las funciones lambda son anónimas, puede ser más difícil depurar el código que las usa, ya que no hay un nombre de función que buscar en los rastreos.
  • Están limitados a una sola expresión, por lo que no son adecuados para escribir funciones más grandes o más complejas.
  • No admiten la declaración de devolución, por lo que es posible que no sean la mejor opción para las funciones que necesitan devolver un valor.

Más tutoriales de Python:

  • Cómo automatizar la búsqueda de Google con Python
  • 35 divertidos y mejores memes de programación en Python
  • Las 10 mejores aplicaciones de programación para aprender Python
  • .large-mobile-banner-1-multi-128{border:ninguno! !important;margin-right:auto !important;margin-top:15px !important;max-width:100% !important;min-height:250px;min-width:250px;padding:0;text-align:center ! importante;}

  • ¿Cómo usar Python para el desarrollo de juegos de navegador?
  • Cómo convertir binario a decimal en Python [5 Methods]

Deja una respuesta Cancelar la respuesta

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

Recent Posts

  • Requisitos previos para los estudiantes que deseen estudiar programación
  • Los 15 mejores reproductores MKV gratuitos para Windows
  • 10 marcos backend populares para el desarrollo web
  • Los 2 mejores sitios web de decodificadores de audio en código Morse
  • Desarrollo de aplicaciones para Android e iOS: ¿cuál es mejor?

Recent Comments

No hay comentarios que mostrar.

Archives

  • enero 2023
  • diciembre 2022
  • noviembre 2022
  • octubre 2022

Categories

  • Noticias
  • Tutoriales
©2023 Generación Freelancer | Design: Newspaperly WordPress Theme