Menu
Coddy logo textTech

A Função Map

Parte da seção Logic & Flow do Journey de Python da Coddy — lição 72 de 78.

A função map() recebe duas coisas principais:

  1. Uma função (que contém instruções sobre o que fazer)
  2. Uma sequência de itens (como uma lista, ou qualquer coleção de elementos)

Ele então aplica essa função a cada item em sua sequência, um por um, e retorna todos os resultados para você.

Por exemplo:

def square(n):
    return n * n

numbers = [1, 2, 3, 4, 5]  # Esta é apenas uma lista de números
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# Saída: [1, 4, 9, 16, 25]

O que aconteceu aqui:

  • Temos uma lista de números: [1, 2, 3, 4, 5]
  • A função map() pega cada número, um de cada vez
  • Ela passa cada número pela nossa função square
  • Ela coleta todos os resultados em ordem

Você pode pensar nisso como uma linha de montagem:

  1. O número 1 entra → a função square o transforma em 1
  2. O número 2 entra → a função square o transforma em 4
  3. O número 3 entra → a função square o transforma em 9 E assim por diante...

Você também pode usar uma função lambda em vez de definir uma função separada:

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# Saída: [1, 4, 9, 16, 25]

A função map() funciona com qualquer coleção de itens - não apenas números. Podem ser strings, ou qualquer outro tipo de dado que você queira processar da mesma forma.

challenge icon

Desafio

Fácil

Crie uma função chamada convert_to_uppercase que recebe uma lista de strings strings como argumento. A função deve usar a função map() junto com uma função lambda para converter cada string na lista para maiúsculas. A função deve retornar uma lista contendo as strings em maiúsculas.

Folha de consulta

A função map() aplica uma função a cada item em uma sequência e retorna os resultados:

def square(n):
    return n * n

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# Saída: [1, 4, 9, 16, 25]

Você também pode usar funções lambda com map():

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# Saída: [1, 4, 9, 16, 25]

A função map() funciona com qualquer tipo de dado, não apenas números.

Experimente você mesmo

def convert_to_uppercase(strings):
    # Use map() com uma função lambda para converter strings para maiúsculas
    uppercase_strings = 
    
    # Retorna a lista de strings em maiúsculas
    return list(uppercase_strings)
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Logic & Flow