Función filter para filtrar objetos en Python
Ahora estudiemos la función filter.
Permite filtrar elementos de listas
y otros objetos iterables según alguna
condición. El primer parámetro que acepta es una
función que establece la condición para la verificación.
En el segundo parámetro, se especifica la lista
cuyos elementos se filtrarán.
Si la función devuelve True, entonces
el elemento permanece en la nueva lista. Si
devuelve False, entonces el elemento no
entrará en la lista.
Supongamos que tenemos una lista:
lst = [1, 2, 3, 4, 5, 6]
Dejemos en ella solo los números pares.
Para ello, usando una función lambda, escribamos
que el número pasado a su parámetro
debe ser divisible por 2 sin resto:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
Después de ejecutar el código, se devolverá una nueva lista:
[2, 4, 6]
Dada una lista con números:
lst = [1, 2, 3, 4, 5]
Escriba en una nueva lista solo los números impares de esta lista.
Dada una lista con cadenas:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
Escriba en una nueva lista solo las cadenas
cuya longitud sea igual a 2.