Ir para o conteúdo

Função Filter

Descrição

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).

Exemplos

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'

Referências