Dominando a Função map() do Python: Sintaxe, Exemplos e Boas Práticas
Dominando a Função map() do Python: Sintaxe, Exemplos e Boas Práticas
A função nativa map() do Python aplica uma função a cada item em um iterável (lista, tupla, conjunto, string, dicionário, etc.) e retorna um novo iterável. É uma pedra angular para programação de estilo funcional em Python.
O que Você Vai Aprender
- Sintaxe e parâmetros principais
- Como
map()funciona internamente - Usando
map()com funções nativas - Aplicando
map()a strings, listas, tuplas, dicionários e conjuntos - Aproveitando expressões lambda com
map() - Combinando múltiplos iteradores em uma única chamada
Sintaxe
map(funcao, iteravel1, iteravel2, ... iteravelN)
Parâmetros
- funcao: Um callable obrigatório que será aplicado a cada elemento.
- iteravel(is): Um ou mais iteráveis. A função recebe um elemento de cada iterável por chamada.
Valor de Retorno
O resultado é um objeto map — um iterável preguiçoso que produz itens transformados. Converta para lista, tupla ou conjunto para consumir os valores.
Como o map() Funciona
Exemplo simples que eleva ao quadrado cada número em uma lista:
def quadrado(n):
return n * n
minha_lista = [2, 3, 4, 5, 6, 7, 8, 9]
atualizado = map(quadrado, minha_lista)
print(list(atualizado)) # [4, 9, 16, 25, 36, 49, 64, 81]
O objeto map é preguiçoso; convertê-lo para lista força a avaliação.
Usando map() com Funções Nativas
Combine map() com qualquer nativa que aceite um único argumento. Por exemplo, arredondando números flutuantes:
valores = [2.6743, 3.63526, 4.2325, 5.9687967, 6.3265, 7.6988, 8.232, 9.6907] arredondados = map(round, valores) print(list(arredondados)) # [3, 4, 4, 6, 6, 8, 8, 10]
Map em Strings
Strings são iteráveis, então map() pode transformar cada caractere ou palavra.
def para_maiuscula(s):
return s.upper()
texto = "bem-vindo aos tutoriais guru99!"
print("".join(map(para_maiuscula, texto))) # BEM-VINDO AOS TUTORIAIS GURU99!
Map em Listas de Números
def vezes_dez(n):
return n * 10
nums = [2, 3, 4, 5, 6, 7, 8, 9]
print(list(map(vezes_dez, nums))) # [20, 30, 40, 50, 60, 70, 80, 90]
Map em Tuplas
def para_maiuscula_str(s):
return s.upper()
linguagens = ("php", "java", "python", "c++", "c")
print(list(map(para_maiuscula_str, linguagens))) # ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
Map em Dicionários e Conjuntos
Ao iterar sobre um dicionário, map() recebe suas chaves. Para um conjunto, a ordem é arbitrária.
def vezes_dez(n):
return n * 10
conjunto_exemplo = {2, 3, 4, 5, 6, 7, 8, 9}
print(sorted(map(vezes_dez, conjunto_exemplo))) # [20, 30, 40, 50, 60, 70, 80, 90]
Usando Funções Lambda
Funções anônimas mantêm o código conciso:
nums = [2, 3, 4, 5, 6, 7, 8, 9] print(list(map(lambda x: x * 10, nums))) # [20, 30, 40, 50, 60, 70, 80, 90]
Múltiplos Iteradores
Exemplo 1: Somando Duas Listas
def somar(a, b):
return a + b
lista1 = [2, 3, 4, 5, 6, 7, 8, 9]
lista2 = [4, 8, 12, 16, 20, 24, 28]
print(list(map(somar, lista1, lista2))) # [6, 11, 16, 21, 26, 31, 36]
Exemplo 2: Concatenando Elementos de Lista e Tupla
def concatenar(a, b):
return f"{a}_{b}"
letras = ['a', 'b', 'b', 'd', 'e']
marcas = ('PHP', 'Java', 'Python', 'C++', 'C')
print(list(map(concatenar, letras, marcas))) # ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']
Principais Conclusões
map()transforma cada elemento de um iterável com uma função dada.- Retorna um iterador preguiçoso; converta para
list,tupleousetpara materializar resultados. - Compatível com qualquer callable — incluindo nativas, funções definidas pelo usuário e lambdas.
- Suporta múltiplos iteráveis; a função deve aceitar um número correspondente de argumentos.
- Ótimo para código limpo, estilo funcional e processamento eficiente de grandes datasets.
python
- Funções Lambda em Python: Guia Prático para Funções Anônimas
- Generators em Python: Iteração Eficiente e Casos de Uso Avançados
- Closures em Python Explicados: Como Funções Aninhadas Capturam Variáveis
- Dominando Decorators em Python: Aprimore Funções com Técnicas de Especialista
- Sobrecarga de Operadores em C++: Guia Prático com Exemplos de Código
- Funções em C++ Explicadas com Exemplos Práticos de Código
- Função Print() do Python: Guia Prático com Exemplos
- Dominando o Método strip() do Python: Guia Completo e Exemplos Práticos
- Domine o str.count() do Python: Como Contar Caracteres e Substrings com Exemplos
- Domine Strings format() em Python com Exemplos Claros