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'