Map

O Python é uma linguagem rica em funcionalidades que facilitam a manipulação e transformação de dados. Entre essas funcionalidades, o map() se destaca como uma ferramenta poderosa para aplicar uma função a todos os itens em uma ou mais listas. Neste tutorial, exploraremos o map() em detalhes, entenderemos seu funcionamento e aprenderemos como usá-lo para simplificar a transformação de dados em Python.

1. O que é o map() em Python?

O map() é uma função embutida em Python que aplica uma função a todos os itens em um input (como uma lista) e retorna um objeto map, que é um iterador que produz os resultados conforme você itera sobre ele.

A sintaxe básica é:

map(funcao, iteravel)
  • funcao: A função que será aplicada a cada item do iterável.
  • iteravel: O iterável (como uma lista) que contém os dados a serem transformados.

2. Usando map() com Funções:

Exemplo 1: Dobrando os Números:

def dobrar(numero):
    return numero * 2

numeros = [1, 2, 3, 4, 5]
dobrados = map(dobrar, numeros)
resultado = list(dobrados)
print(resultado)  # Saída: [2, 4, 6, 8, 10]

Neste exemplo, a função dobrar() é aplicada a cada número na lista numeros.

Exemplo 2: Convertendo Strings para Maiúsculas:

nomes = ["alice", "bob", "carol"]
maiusculas = map(str.upper, nomes)
resultado = list(maiusculas)
print(resultado)  # Saída: ['ALICE', 'BOB', 'CAROL']

Neste exemplo, a função str.upper() é aplicada a cada string na lista nomes.

3. Usando map() com Expressões Lambda:

Expressões lambda são convenientes quando você precisa de uma função simples para uma operação específica.

Exemplo 3: Calculando Quadrados com Expressão Lambda:

numeros = [1, 2, 3, 4, 5]
quadrados = map(lambda x: x ** 2, numeros)
resultado = list(quadrados)
print(resultado)  # Saída: [1, 4, 9, 16, 25]

Neste exemplo, uma expressão lambda é usada para calcular os quadrados dos números na lista numeros.

O map() é uma ferramenta poderosa para transformar dados em Python. Ele permite que você aplique uma função a todos os itens em um iterável, economizando o trabalho manual de escrever loops. Ao usar o map(), seu código pode se tornar mais legível, conciso e eficiente.