Função filter para filtrar objetos em Python
Vamos agora estudar a função filter.
Ela permite filtrar elementos de listas
e outros objetos iteráveis por alguma
condição. O primeiro parâmetro recebe uma
função, que define a condição para verificação.
No segundo parâmetro, especifica-se a lista
cujos elementos serão filtrados.
Se a função retornar True, então
o elemento permanece na nova lista. Se
retornar False, o elemento não
entrará na lista.
Suponha que temos uma lista:
lst = [1, 2, 3, 4, 5, 6]
Vamos manter nela apenas os números pares.
Para isso, usando uma função lambda, vamos especificar
que o número passado em seu parâmetro
seja divisível por 2 sem resto:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
Após a execução do código, uma nova lista será retornada:
[2, 4, 6]
Dada uma lista com números:
lst = [1, 2, 3, 4, 5]
Registre em uma nova lista apenas os números ímpares desta lista.
Dada uma lista com strings:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
Registre em uma nova lista apenas as strings
cujo comprimento seja igual a 2.