Filter
Em Python, a função filter()
é uma ferramenta poderosa para filtrar dados com base em determinados critérios. Ela permite que você aplique uma função a todos os itens em um iterável (como uma lista) e retorna apenas os itens que satisfazem uma condição específica. Neste tutorial, vamos explorar o filter()
em detalhes, entender seu funcionamento e aprender como utilizá-lo para filtrar dados de forma eficaz em Python.
1. O que é o filter()
em Python?
O filter()
é uma função embutida em Python que recebe dois argumentos: uma função e um iterável. A função é aplicada a cada item do iterável, e apenas os itens para os quais a função retorna True
são incluídos no resultado.
A sintaxe básica é:
filter(funcao, iteravel)
funcao
: A função que define a condição para a filtragem.iteravel
: O iterável (como uma lista) que contém os dados a serem filtrados.
2. Usando filter()
com Funções:
Exemplo 1: Filtrando Números Pares:
def eh_par(numero):
return numero % 2 == 0
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9]
pares = filter(eh_par, numeros)
resultado = list(pares)
print(resultado) # Saída: [2, 4, 6, 8]
Neste exemplo, a função eh_par()
retorna True
para números pares, então filter()
retorna apenas os números pares da lista numeros
.
Exemplo 2: Filtrando Strings com Tamanho Menor que 5:
palavras = ["python", "java", "c", "javascript", "ruby"]
curtas = filter(lambda palavra: len(palavra) < 5, palavras)
resultado = list(curtas)
print(resultado) # Saída: ['java', 'c', 'ruby']
Neste exemplo, uma expressão lambda é usada para filtrar palavras com menos de 5 caracteres da lista palavras
.
O filter()
é uma ferramenta útil para filtrar dados em Python, permitindo que você aplique critérios específicos para selecionar itens de um iterável. Ao utilizar o filter()
, você pode economizar o trabalho de escrever loops para realizar filtragens manualmente, tornando seu código mais eficiente e legível.