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 tipo map. Para obter uma lista com todos os valores processados, é necessário envolver a chamada com a função construtora list().

  • Sintaxe de Funções Anônimas (lambda): As funções lambda seguem a estrutura lambda argumento: expressao. Elas retornam o resultado da expressão automaticamente sem exigir o uso explicito da instrução return.

  • 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() com lambda seja 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

Postagens mais visitadas deste blog

Gerando Relatórios em PDF com Python (ReportLab e FPDF)

Python para Computação Quântica: Introdução com Qiskit

C# e Banco de Dados: Como Conectar e Realizar Operações com SQL Server