Blog

Postado em em 31 de dezembro de 2022

Map e Filter no Python – Diferenças e Para que Serve

Você já conhece as estrutura map e filter no Python? Elas são duas estruturas muito úteis e vão deixar seus códigos ainda menores!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala Impressionadores! Na aula de hoje eu quero falar sobre Map e Filter no Python!

Para te mostrar como funciona o Map e o Filter no Python vou utilizar um exemplo simples, mas que deixa muito visível como eles funcionam.

Então qual a diferença do map e do filter?

A ideia inicial deles é aplicar uma função em uma lista, evitando o uso da estrutura de repetição for.

O map vai editar os itens da lista, ou seja, a função onde será aplicada já faz alterações nos itens.

Enquanto o filter vai filtrar itens em uma lista, mas vai retornar apenas verdadeiro ou falso, nele, não vamos fazer nenhuma alteração na lista.

Resumo:

Então, em resumo, a diferença é que no map passamos pela lista e já podemos fazer as alterações dos itens, já no filter vamos retornar se é verdadeiro ou falso sem fazer alterações!

Exemplo:

Lista e cálculo de aumento.
Lista e cálculo de aumento.

Imagine que nós queremos fazer uma alteração em cada item dessa lista, quando estamos começando a programar podemos intuitivamente achar que o melhor é usar uma estrutura de repetição For para percorrer a lista inteira.

O for poderia ser usado neste caso?

Sim, poderia, mas como temos uma função que está efetuando um aumento em uma lista, ao invés do for podemos usar o map.

Map:

O map essencialmente vai precisar dessas duas informações, o cálculo ou função que ele vai aplicar e a lista de itens que ele vai percorrer.

Preços_produtos = map(aplicar_aumento, preço_produtos)

Obs. Para printar vamos ter que acrescentar o list, porque o resultado no map é um map object e não uma lista Python:

Preços_produtos = list(map(aplicar_aumento, preço_produtos))

Dessa forma vamos conseguir o resultado assim como no for, mas esta função costuma ser mais prática e rápida.

Map
Map

Função filter:

A função que temos nos retorna alguns valores, certo? Esses valores estão submetidos a uma condição que pode alterar ou não alguns desses valores, então, os que retornam positivo → True, serão os resultados mostrados no filter.

O modo como essas duas estruturas funcionam é o mesmo, precisamos passar na estrutura a função sem os parênteses e a lista onde vai ser feita a aplicação, para o resultado aparecer como lista do Python o list deve ser usado nos dois códigos da mesma forma.

Filter:

Filter
Filter

Perceba que a principal diferença está na função, no caso do filter o resultado é somente dos valores que atendem a condição → true e mesmo atendendo a condição o valor é exibido sem alteração.

Essas duas funções são muito úteis para quando estamos trabalhando com um volume grande de informações, listas, dicionários, tuplas, podemos usar para filtrar por tipo ou aplicar diversas edições usando o map.

Resumo:

Quando queremos a lista completa editando as informações que temos dentro dela, vamos usar o map.

Quando queremos filtrar essa lista para pegar os itens que correspondem a uma condição vamos usar o filter.

Ambas percorrem toda a lista como o For teria feito, mas, mais rápido.

Conclusão – Map e Filter no Python

Você já conhecia o filter e o map? Nesta aula nosso objetivo foi mostrar essas duas funções.

Quando se começa a aprender Python é normal entrar no automático e usar sempre o For quando se quer percorrer uma lista.

Esta aula é para mostrar que temos outras opções, até mais rápidas!

Por isso a explicação está detalhada e com exemplos, para você aprender essas estruturas e aproveitar novos recursos.

Espero que tenham gostado! Até mais. Abraço,

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero no Power BI e virar uma referência na sua empresa? Inscreva-se agora mesmo no Power BI Impressionador