Como usar a função map() em Python
Aprenda como usar a função map() do Python. Domine a aplicação de funções a iteráveis sem escrever loops e compare o mapa com a compreensão da lista.
Visão geral
Ao processar coleções de dados, muitas vezes você precisará aplicar uma transformação específica a cada item em um iterável. Por exemplo, converter uma lista de números de string em números inteiros ou normalizar uma matriz de strings de banco de dados convertendo-os em letras minúsculas. Em vez de escrever loops `for` detalhados, Python fornece uma ferramenta integrada chamada `map()`.
A função `map(function, iterable)` aceita uma função de transformação e um iterável como argumentos. Ele aplica a função a cada elemento do iterável e retorna um objeto iterador (um objeto `mapa`). Como é retornado como um iterador, os cálculos são executados lentamente: os elementos só são processados conforme você itera sobre eles, o que economiza memória para grandes conjuntos de dados.
Para obter uma representação de lista do objeto do mapa imediatamente, você deve converter o resultado usando o construtor `list()`: `list(map(func, data))`. Você pode passar qualquer função padrão, função de biblioteca padrão (como `str` ou `len`) ou funções anônimas personalizadas declaradas com a palavra-chave `lambda` diretamente para `map()` para execução inline.
Saída de código e execução
Este script demonstra a modificação de coleções usando a função map() com transformações de string, mapeando itens de lista para números e usando retornos de chamada lambda.
# 1. Map string conversion over a list of numbers
numbers = [1, 2, 3, 4]
string_numbers = list(map(str, numbers))
print("Mapped to strings:", string_numbers)
# 2. Square numbers using a lambda function inside map()
squared = list(map(lambda x: x**2, numbers))
print("Squared numbers:", squared)
# 3. Apply custom logic function to items
def normalize_name(name):
return name.strip().capitalize()
names = [" alice", "BOB ", " charlie "]
clean_names = list(map(normalize_name, names))
print("Clean names list:", clean_names)Mapped to strings: ['1', '2', '3', '4']
Squared numbers: [1, 4, 9, 16]
Clean names list: ['Alice', 'Bob', 'Charlie']Implementação passo a passo
- Identifique a função de transformação que você deseja aplicar a cada elemento da coleção.
- Chame map(function_name, iterable) para criar um iterador lento de elementos transformados.
- Coloque a chamada map() dentro de list() se você precisar acessar todos os elementos como uma lista padrão imediatamente.
- Combine map() com funções lambda para transformações inline rápidas e únicas.
Perguntas frequentes
Map() é melhor que compreensão de lista?
As compreensões de lista são geralmente consideradas mais legíveis e pitônicas pela comunidade. No entanto, map() pode ser mais rápido ao aplicar uma função integrada existente (como map(str, list)) porque executa loops de código C otimizados.
map() pode aceitar vários iteráveis?
Sim! Se a função de transformação receber vários argumentos, você poderá passar vários iteráveis para map(). Por exemplo, map(lambda x, y: x + y, list1, list2) adicionará elementos aos pares.
Tópicos Relacionados
Aprenda como usar funções lambda em Python. Domine funções anônimas, retornos de chamada embutidos e classificação de dados de listas com chaves lambda.
Como usar a compreensão de lista em PythonAprenda como usar compreensões de lista em Python. Escreva loops concisos, aplique filtros condicionais e crie matrizes com sintaxe visual limpa.
Como usar a função filter() em PythonAprenda como usar a função filter() do Python para extrair elementos de coleções. Compare o filtro com compreensões de lista e retornos de chamada lambda.
Recursos Python recomendados
Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.
Funções Python
Domine as funções do Python. Aprenda como escrever código reutilizável usando def, definir argumentos, retornar valores e compreender o escopo local e globalmente.
Folha de referências das funções do módulo matemático Python
Guia de referência rápida para a biblioteca padrão matemática do Python. Aprenda a usar funções trigonométricas, logarítmicas, de arredondamento e aritméticas.
Python vs JavaScript: qual linguagem de programação é a melhor?
Uma comparação abrangente entre Python e JavaScript. Explore diferenças de sintaxe, desempenho, casos de uso (backend versus frontend) e exemplos de codificação.