Funciones Funcionales
Estas funciones permiten aplicar operaciones de forma declarativa y funcional sobre colecciones de datos, como listas o tuplas. Son especialmente útiles cuando se requiere aplicar una función a muchos elementos (map), filtrar según condiciones (filter), combinar datos (zip) o generar secuencias numéricas (range). Su uso favorece un estilo de programación más limpio, compacto y expresivo.
Función | Descripción |
---|---|
map() | Aplica una función a cada elemento de un iterable y devuelve un nuevo iterable. |
filter() | Filtra los elementos de un iterable según una condición dada. |
zip() | Une varios iterables en pares ordenados, como tuplas. |
range() | Genera una secuencia de números, generalmente usada en bucles. |
all() | Retorna True si todos los elementos de un iterable son verdaderos. |
any() | Retorna True si al menos un elemento es verdadero. |
A continuacion te explicare con mas detalle el funcionamiento de estas funciones:
Uso típico: Aplicar una función a cada elemento de un iterable y devolver un nuevo iterable.
numeros = [1, 2, 3, 4]al_cuadrado = map(lambda x: x ** 2, numeros)print(list(al_cuadrado))
Salida:
[1, 4, 9, 16]
filter()
Sección titulada «filter()»Uso típico: Filtrar los elementos de un iterable que cumplan una condición.
numeros = [10, 15, 20, 25]mayores_que_15 = filter(lambda x: x > 15, numeros)print(list(mayores_que_15))
Salida:
[20, 25]
Uso típico: Combinar varios iterables en pares ordenados (tuplas).
nombres = ['Ana', 'Luis', 'Sofía']edades = [28, 34, 25]parejas = zip(nombres, edades)print(list(parejas))
Salida:
[('Ana', 28), ('Luis', 34), ('Sofía', 25)]
range()
Sección titulada «range()»Uso típico: Generar una secuencia numérica, comúnmente usada en bucles.
for numero in range(0, 10, 2): # De 0 a 8 en pasos de 2 print(numero, end'')
Salida:
[('Ana', 28), ('Luis', 34), ('Sofía', 25)]
Uso típico: Verificar si todos los elementos de un iterable son verdaderos.
valores = [True, 1, 5 > 2]print(all(valores))
Salida:
True
Uso típico: Verificar si al menos uno de los elementos de un iterable es verdadero.
valores = [0, '', None, 7]print(any(valores))
Salida:
True