map.input, filter, reduce, comprensión de listas Flashcards
que es map()
map() es una función incorporada que se utiliza para aplicar una función a todos los elementos de una secuencia (como una lista o una tupla) y devuelve un iterador que produce los resultados.
La sintaxis general de map() es la siguiente:
map(función, secuencia)
que es función en map
- función: La función que deseas aplicar a cada elemento de la secuencia.
que es secuencia en map
- secuencia: La secuencia en la que deseas aplicar la función.
ventaja de map
(es que te permite aplicar una función de manera eficiente a todos los elementos de una secuencia sin necesidad de escribir un bucle explícito
Sin embargo, a partir de Python 3, map() devuelve un objeto map que es un iterador, por lo que es necesario convertirlo en una lista o en otro tipo de secuencia para ver los resultados.
filter
en Python se utiliza para filtrar elementos de una secuencia (como una lista) según una función de filtro dada.
ejemplo filter
numbers = [1, 2, 2, 3, 4, 4, 5, 5, 5]
def is_unique(value, seen=set()):
if value in seen:
return False
seen.add(value)
return True
unique_numbers = list(filter(is_unique, numbers))
print(unique_numbers) # [1, 2, 3, 4, 5]
que devuelve filter
devuelve una nueva secuencia que contiene solo los elementos que cumplan con la condición definida por la función de filtro.
reduce, que es ahora y que era
() solía estar disponible directamente en Python 2 a través del módulo functools. Sin embargo, a partir de Python 3, reduce() se ha movido al módulo functools. Para utilizarlo, necesitas importar la función reduce desde este módulo.
reduce, ej
from functools import reduce
numbers = [5, 9, 3, 7, 2]
def find_max(x, y):
return x if x > y else y
max_value = reduce(find_max, numbers)
print(max_value) # 9
que hace reduce
toma una función y una secuencia, y acumula los valores de la secuencia aplicando repetidamente la función acumuladora. La función acumuladora toma dos argumentos y produce un solo resultado. Ten en cuenta que reduce()
Comprensión de listas
es una característica poderosa en Python que te permite crear nuevas listas de manera concisa a partir de secuencias existentes (como listas, tuplas o rangos) aplicando transformaciones o filtros.
como usar redduccion de listas
- Crear una lista de números pares del 0 al 10:
even_numbers = [x for x in range(11) if x % 2 == 0]
print(even_numbers) # [0, 2, 4, 6, 8, 10] - Crear una lista de las vocales en una cadena:
sentence = “Hello, how are you?”
vowels = [char for char in sentence if char.lower() in ‘aeiou’]
print(vowels) # [‘e’, ‘o’, ‘o’, ‘a’, ‘e’, ‘o’, ‘u’]
La comprensión de listas es una forma elegante y eficiente de
de crear listas transformadas o filtradas en una sola línea de código. Puedes combinar transformaciones y condiciones para lograr resultados más complejos en una manera concisa y legible