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.
Aprende Python GRATIS y certifícateLas 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.
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
Clases y objetos
Listas
Crear módulos y paquetes
Estructuras de control
Diccionarios
Módulo math
Importar módulos y paquetes
Operadores
OOP en python
Estructuras de control
Instalación de Python y creación de proyecto
Listas
Estructuras de control
Encapsulación
Clases y objetos
Crear módulos y paquetes
Encapsulación
Tipos de datos
Herencia de clases
Tuplas
Herencia
Módulo datetime
Excepciones
Operadores
Funciones lambda
Clases y objetos
Diccionarios
Módulo os
Listas
Conjuntos
Funciones lambda
Tuplas
Módulo json
Operadores
Variables
Tipos de datos
Diccionarios en Python
Conjuntos
Módulo math
Excepciones
Módulo csv
Gestor de tareas CRUD
Importar módulos y paquetes
Funciones Python
Módulo json
Tipos de datos
Módulo datetime
Herencia
Análisis de datos de ventas con Pandas
Funciones
Funciones Python
Variables
Módulo csv
Introducción a Python
Polimorfismo
Módulo os
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.
Introducción A Python
Introducción Y Entorno
Instalación Y Creación De Proyecto
Introducción Y Entorno
Tipos De Datos
Sintaxis
Variables
Sintaxis
Operadores
Sintaxis
Estructuras De Control
Sintaxis
Funciones
Sintaxis
Funciones Lambda
Programación Funcional
Clases Y Objetos
Programación Orientada A Objetos
Excepciones
Programación Orientada A Objetos
Encapsulación
Programación Orientada A Objetos
Herencia
Programación Orientada A Objetos
Polimorfismo
Programación Orientada A Objetos
Listas
Estructuras De Datos
Tuplas
Estructuras De Datos
Diccionarios
Estructuras De Datos
Conjuntos
Estructuras De Datos
Módulo Csv
Biblioteca Estándar
Módulo Json
Biblioteca Estándar
Módulo Datetime
Biblioteca Estándar
Módulo Math
Biblioteca Estándar
Módulo Os
Biblioteca Estándar
Importar Módulos Y Paquetes
Módulos Y Paquetes
Crear Módulos Y Paquetes
Módulos Y Paquetes
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
- Comprender qué son las funciones lambda y cómo se crean utilizando la sintaxis
lambda argumentos: expresion
. - 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.
- Saber cómo utilizar funciones lambda en combinación con
filter()
,map()
, yreduce()
para filtrar, transformar y reducir elementos en listas. - 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.