Python

Python

Tutorial Python: Funciones lambda

Python funciones lambda: definición y uso. Aprende a usar funciones lambda en Python con ejemplos prácticos y detallados.

Las funciones lambda en Python son una forma de crear pequeñas funciones anónimas. Estas funciones se llaman "anónimas" porque no se declaran de la forma estándar utilizando la palabra clave def. Puede usarse la palabra clave lambda para crear pequeñas funciones anónimas.

Sintaxis de las funciones lambda

La sintaxis de las funciones lambda es más sencilla que la sintaxis tradicional de las funciones en Python definidas con def. La sintaxis general es la siguiente:

lambda argumentos: expresion

lambda es la palabra clave que indica que se está creando una función lambda. argumentos es una lista de argumentos separados por comas, sin paréntesis. expresion es una expresión que se evalúa y devuelve el resultado cuando se llama a la función.

Aquí hay un ejemplo de una función lambda simple que toma un argumento y devuelve ese argumento incrementado en 1:

f = lambda x: x + 1
print(f(1))  # Devuelve: 2

Características de las funciones lambda

Las funciones lambda son muy útiles cuando se necesita una pequeña función que se va a utilizar una sola vez. Algunas características son:

  • Pueden tomar cualquier número de argumentos, pero sólo pueden tener una expresión.
  • No se les puede asignar un nombre directamente.
  • Se pueden usar en cualquier lugar donde se requieran objetos de función.
  • Tienen su propio espacio de nombres y no pueden acceder a otras variables fuera de su lista de argumentos.

Por ejemplo, aquí se muestra cómo utilizar una función lambda para definir una función que calcula el cuadrado de un número:

f = lambda x: x ** 2
print(f(4)) # Devuelve: 16

Funciones lambda en combinación con funciones como filter(), map() y reduce()

Las funciones lambda son particularmente útiles en combinación con las funciones incorporadas en Python filter(), map(), y reduce().

La función filter(función, secuencia) ofrece una forma elegante de filtrar todos los elementos de una lista. La función función necesita devolver un valor booleano (verdadero o falso). Esta función se aplicará a cada elemento de la lista secuencia. Solo si función devuelve True, el elemento del secuencia será incluido en el resultado.

Por ejemplo, aquí hay una forma de utilizar filter() y una función lambda para obtener una lista de todos los números pares en una lista:

lista = [1, 2, 3, 4, 5, 6]
pares = filter(lambda x: x % 2 == 0, lista)
print(list(pares)) # Devuelve: [2, 4, 6]

La función map(función, secuencia) trabaja de manera similar a filter(), pero en lugar de aplicar una condición a los elementos de secuencia, aplica función a todos los elementos de la secuencia.

Por ejemplo, aquí se muestra cómo se puede usar map() y una función lambda para calcular el cuadrado de todos los números en una lista:

lista = [1, 2, 3, 4, 5, 6]
cuadrados = map(lambda x: x ** 2, lista)
print(list(cuadrados)) # Devuelve: [1, 4, 9, 16, 25, 36]

La función reduce(función, secuencia) es un poco diferente a filter() y map() porque no devuelve una lista, sino un solo valor calculado a partir de los elementos de la secuencia. Para usar reduce() es necesario importar el módulo functools.

Por ejemplo, aquí se muestra cómo se puede usar reduce() y una función lambda para calcular el producto de todos los números en una lista:

from functools import reduce

lista = [1, 2, 3, 4, 5, 6]
producto = reduce(lambda x, y: x * y, lista)
print(producto) # Devuelve: 720

Las funciones lambda son una herramienta potente que permite escribir código más limpio y eficiente en Python, y pueden resultar especialmente útiles en casos en los que solo se necesite una pequeña función por un corto periodo de tiempo.

Certifícate en Python con CertiDevs PLUS

Ejercicios de esta lección Funciones lambda

Evalúa tus conocimientos de esta lección Funciones lambda con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Polimorfismo

Python
Puzzle

Clases y objetos

Python
Código

Listas

Python
Código

Crear módulos y paquetes

Python
Puzzle

Estructuras de control

Python
Test

Diccionarios

Python
Puzzle

Módulo math

Python
Test

Importar módulos y paquetes

Python
Test

Operadores

Python
Test

OOP en python

Python
Proyecto

Estructuras de control

Python
Código

Instalación de Python y creación de proyecto

Python
Test

Listas

Python
Puzzle

Estructuras de control

Python
Puzzle

Encapsulación

Python
Test

Gestor de tareas con operaciones CRUD en Python

Python
Proyecto

Clases y objetos

Python
Test

Crear módulos y paquetes

Python
Test

Encapsulación

Python
Puzzle

Tipos de datos

Python
Test

Herencia de clases

Python
Código

Tuplas

Python
Test

Herencia

Python
Puzzle

Módulo datetime

Python
Puzzle

Excepciones

Python
Puzzle

Operadores

Python
Puzzle

Funciones lambda

Python
Puzzle

Clases y objetos

Python
Puzzle

Diccionarios

Python
Test

Módulo os

Python
Puzzle

Listas

Python
Test

Conjuntos

Python
Puzzle

Funciones lambda

Python
Test

Tuplas

Python
Puzzle

Módulo json

Python
Puzzle

Ejercicio proyecto de Python con Pandas - Análisis de datos

Python
Proyecto

Operadores

Python
Código

Variables

Python
Puzzle

Tipos de datos

Python
Puzzle

Diccionarios en Python

Python
Código

Conjuntos

Python
Test

Módulo math

Python
Puzzle

Excepciones

Python
Test

Módulo csv

Python
Test

Importar módulos y paquetes

Python
Puzzle

Funciones Python

Python
Puzzle

Módulo json

Python
Test

Tipos de datos

Python
Código

Módulo datetime

Python
Test

Herencia

Python
Test

Funciones

Python
Test

Funciones Python

Python
Código

Variables

Python
Test

Módulo csv

Python
Puzzle

Introducción a Python

Python
Test

Polimorfismo

Python
Test

Módulo os

Python
Test

Todas las lecciones de Python

Accede a todas las lecciones de Python y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Certificados de superación de Python

Supera todos los ejercicios de programación del curso de Python y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.

En esta lección

Objetivos de aprendizaje de esta lección

  1. Comprender qué son las funciones lambda y cómo se crean utilizando la sintaxis lambda argumentos: expresion.
  2. Aprender las características de las funciones lambda, como su capacidad para tomar cualquier número de argumentos y su uso en lugares donde se requieren objetos de función.
  3. Saber cómo utilizar funciones lambda en combinación con filter(), map(), y reduce() para filtrar, transformar y reducir elementos en listas.
  4. Reconocer las ventajas de las funciones lambda en términos de escribir código más limpio y eficiente en situaciones donde se necesitan pequeñas funciones de forma temporal.