A função filter faz parte, tal como a file() ou a float(), e é intrínseca à própria linguagem de programação Python - é uma built-in function - significando que não precisa de ser importado nenhum módulo para a utilizar. A sua utilidade está em, tal como o nome indica, filtrar os elementos de uma lista segundo o que está definido numa função.
Recebe dois argumentos: uma função (opcional) e uma sequência (lista, tupla, ou string). De seguida, percorre os elementos desta sequência e devolve uma outra contendo os elementos que, avaliados pela função, deram True. Caso se omita a função, temos como resultado uma sequência contendo todos os elementos que sao verdadeiros (True).
lista = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] def par(n): return n % 2 == 0 filter(par,lista) [2, 4, 6, 8, 10]
Podemos recorrer a uma função lambda para obter mais flexibilidade:
frase = 'O Joao e a Maria foram ao shopping comprar morangos.' filter((lambda letra: letra in ['a', 'e', 'i', 'o', 'u']), frase) # Devolve as vogais da frase 'oaoeaaiaoaaooioaoao'