Search
Close this search box.
Como usar a função filter em Python?
filter em Python

Posts Relacionados:

Filter é uma ferramenta poderosa para iterar seletivamente sobre elementos em Python dispensando o uso explicito de condicionais e loops.

Receba nossa newsletter

Filter em Python

A função filter em Python é uma ferramenta interna que permite processar um iterável (como uma lista, tupla, set) e criar um novo iterador que contém apenas elementos que atendem a uma determinada condição. Ou seja, filter em Python atua essencialmente como um mecanismo de filtragem que seleciona elementos a partir de uma condição booleana.

Filter em Código

filter python

A função filter em Python recebe dois argumentos. O primeiro argumento é uma função que define os critérios de filtragem. A função usada para filtrar pode ser qualquer objeto chamável. Isso inclui funções internas, funções definidas pelo usuário ou funções lambda (funções anônimas). Essa função determina quais elementos devem ser mantidos. Ela deve retornar True para elementos que você deseja manter e False para elementos que devem ser descartados. O segundo argumento é o iterável que será filtrado. Veja como isso pode ser implementado. Primeiro, implementaremos um filtro de maneira tradicional, usando um condicional:

				
					# forma tradicional de realizar filtragem com condicional
nomes = ["Ana", "Joana", "Clara", "Aline"]
nomes_iniciados_em_a = []
for nome in nomes:
  if nome[0] == "A":
    nomes_iniciados_em_a.append(nome)
print(nomes_iniciados_em_a)  # Resultado: ['Ana', 'Aline']
				
			

Agora, implementaremos a mesma filtragem usando filter:

				
					# Filtragem usando filter
def inicia_com_a(nome): # precisa definir uma função
    return nome[0] == "A"

nomes_iniciados_em_a_filter = list(filter(inicia_com_a, nomes)) # usa list para obter a lista completa
print(nomes_iniciados_em_a_filter) # Resultado: ['Ana', 'Aline']
				
			

Nos exemplos, usamos uma lista de nomes como entrada. A filtragem aplicada em ambos os casos retorna os nomes iniciados em A. Nos dois casos, obtemos o mesmo resultado. No entanto, a abordagem com filter é mais concisa e evita loops e condicionais explícitos.

Filter e Iteradores

Assim como a função map, o uso de filter em Python não retorna o iterável completo ou armazena todos os resultados de uma só vez. Ao invés disso, ela retorna um iterador que produz os elementos que passaram pela condição de filtragem sob demanda. A vantagem desse processo é que ele é eficiente em termos de memória, especialmente para grandes conjuntos de dados. Mas você pode converter o iterador facilmente em uma lista usando list(filter(…)) se necessário, como feito no exemplo acima.

Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.

Imagem com IA Generativa – Dia 274

IA generativa img 274

Arte com IA generativa: imagem do dia

Todos os dias, postamos um exemplo de imagem artística gerada com inteligência artificial.

Tutoriais

Postagens Mais Recentes

Outras Postagens Que Podem Interessar

Veja
Mais

Fique em contato

Se inscreva para receber nossa newsletter com novidades.

aprendiz artificial