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.