Como aplicar uma função em todos os itens de uma lista usando map() e lambda em Python
Como aplicar uma função em todos os itens de uma lista usando map() e lambda em Python
O uso de
map() combinado com funções anônimas lambda permite transformar coleções de dados de forma rápida e expressiva, adotando o paradigma de programação funcional. Essa abordagem elimina a necessidade de criar loops for explícitos e acumular resultados manualmente ao aplicar uma transformação em cada elemento de uma lista.Python
# Lista original de dados de exemplo
precos_usd = [10.0, 25.50, 100.0, 49.90]
# Taxa de conversão de moeda
taxa_cambio = 5.20
# 1. Aplica a função lambda em cada item para converter USD em BRL
# 2. Converte o iterável retornado pelo map() de volta para uma lista
precos_brl = list(map(lambda valor: round(valor * taxa_cambio, 2), precos_usd))
# Exemplo prático de saída
print(f"Preços em USD: {precos_usd}")
print(f"Preços em BRL: {precos_brl}")
Pontos-chave
- Retorno Lazy (Iterador): A função
map()não cria uma nova lista na memória imediatamente; ela retorna um objeto iterador do tipomap. Para obter uma lista com todos os valores processados, é necessário envolver a chamada com a função construtoralist(). - Sintaxe de Funções Anônimas (
lambda): As funçõeslambdaseguem a estruturalambda argumento: expressao. Elas retornam o resultado da expressão automaticamente sem exigir o uso explicito da instruçãoreturn. - Processamento de Múltiplas Listas: A função
map()pode receber mais de uma coleção simultaneamente (ex:map(lambda x, y: x + y, lista_a, lista_b)), aplicando a função nos elementos correspondentes de cada lista até atingir o fim da menor delas. - Alternativa com List Comprehension: Embora o
map()comlambdaseja amplamente utilizado na programação funcional, a comunidade Python frequentemente prefere a sintaxe de List Comprehension[round(valor * taxa_cambio, 2) for valor in precos_usd]para maior legibilidade do código.

Comentários
Postar um comentário