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.