Qual a diferença entre a função map() e a função filter()?
Qual a diferença entre a função map() e a função filter()?
Olá, Pedro! Sua pergunta é muito interessante e essencial para quem está aprendendo Python, especialmente para Data Science.
A função map()
e a função filter()
são funções integradas do Python que operam em listas (e outros iteráveis). A principal diferença entre elas é o que elas retornam.
map()
aplica uma função a todos os itens em uma lista de entrada e retorna uma nova lista com os resultados. Por exemplo, se tivermos uma lista de números e quisermos obter o quadrado de cada número, podemos usar a função map()
.numeros = [1, 2, 3, 4, 5]
quadrados = map(lambda x: x**2, numeros)
print(list(quadrados)) # Saída: [1, 4, 9, 16, 25]
filter()
constrói uma nova lista com os elementos para os quais a função retorna verdadeiro. Por exemplo, se quisermos filtrar apenas os números ímpares de uma lista, podemos usar a função filter()
.numeros = [1, 2, 3, 4, 5]
impares = filter(lambda x: x % 2 != 0, numeros)
print(list(impares)) # Saída: [1, 3, 5]
Em resumo, use map()
quando quiser aplicar uma transformação a todos os elementos de uma lista e filter()
quando quiser selecionar certos elementos de uma lista.
Espero ter ajudado e bons estudos!