Python: Aprenda a usar a função map e a expressão lambda para otimizar seu código
A função map em Python é uma função integrada que permite aplicar uma determinada função a cada item de uma sequência, como uma lista ou uma tupla.
Glossário
O que é a função map em Python?
Introdução
A função map em Python é uma função integrada que permite aplicar uma determinada função a cada item de uma sequência, como uma lista ou uma tupla. Essa função retorna um objeto map, que pode ser convertido em uma lista, tupla ou iterador, dependendo da necessidade. A função map é muito útil quando queremos realizar operações em todos os elementos de uma sequência de forma rápida e eficiente.
Sintaxe básica da função map
map(função, sequência)
Aqui, a função representa a função que será aplicada a cada item da sequência. Pode ser uma função predefinida do Python ou uma função definida pelo usuário. A sequência é a sequência de itens em que a função será aplicada.
Exemplo de uso da função map em Python
def dobro(x):
return x * 2
numeros = [1, 2, 3, 4, 5]
resultado = map(dobro, numeros)
Neste exemplo, a função dobro é definida para multiplicar um número por 2. A função map é então usada para aplicar essa função a cada elemento da lista de números. O resultado é um objeto map que contém os valores [2, 4, 6, 8, 10].
Uso da função map com expressões lambda
numeros = [1, 2, 3, 4, 5]
resultado = map(lambda x: x * 2, numeros)
Neste exemplo, a expressão lambda é usada para definir a função que multiplica um número por 2. A função map é então aplicada a cada elemento da lista de números, resultando no mesmo objeto map [2, 4, 6, 8, 10].



Como usar a função map em Python?
1. Aplicar uma função a uma lista de argumentos
numeros = [1, 2, 3, 4, 5]
resultados = list(map(lambda x: x**2, numeros))
Neste exemplo, a expressão lambda é usada para calcular o quadrado de cada número da lista. O resultado é uma nova lista com os valores [1, 4, 9, 16, 25].
2. Combinação de várias sequências
numeros1 = [1, 2, 3, 4, 5]
numeros2 = [10, 20, 30, 40, 50]
resultados = list(map(lambda x, y: x + y, numeros1, numeros2))
Neste exemplo, a expressão lambda é usada para somar os elementos correspondentes das duas listas. O resultado é uma nova lista com os valores [11, 22, 33, 44, 55].
3. Conversão de tipos de dados
numeros_strings = ['1', '2', '3', '4', '5']
numeros_inteiros = list(map(int, numeros_strings))
Neste exemplo, a função int é usada para converter cada elemento da lista de strings em um número inteiro. O resultado é uma nova lista com os valores [1, 2, 3, 4, 5].
4. Aplicar uma função a elementos de um dicionário
dicionario = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
resultados = list(map(lambda x: x**2, dicionario.values()))
Neste exemplo, a expressão lambda é usada para calcular o quadrado de cada valor do dicionário. O resultado é uma nova lista com os valores [1, 4, 9, 16, 25].
Conclusão
Como mencionado anteriormente, a função map em Python, juntamente com a expressão lambda, é uma ótima maneira de otimizar o código e realizar operações em vários elementos de forma simples e eficiente. Ao aprender a usar a função map e a expressão lambda, você poderá escrever um código mais conciso e legível, evitando a repetição de código desnecessária.
O que é uma expressão lambda em Python?
Introdução
Uma expressão lambda em Python é uma função anônima e de uma única linha. Ela é uma forma concisa de definir pequenas funções que podem ser usadas como argumentos em outras funções, como é o caso da função map. A sintaxe básica de uma expressão lambda é a seguinte:
lambda argumentos: expressão
Utilização da expressão lambda com a função map
Ao usar a expressão lambda em conjunto com a função map, podemos otimizar nosso código Python de várias maneiras. Aqui estão algumas das principais formas de utilizar a expressão lambda e a função map juntas:
1. Aplicar uma expressão lambda a uma lista
numeros = [1, 2, 3, 4, 5]
resultado = list(map(lambda x: x**2, numeros))
Neste exemplo, a expressão lambda é utilizada para definir a operação de elevar ao quadrado cada elemento da lista. A função map é então aplicada a essa expressão lambda e à lista de números, retornando uma nova lista com os valores resultantes.



2. Filtrar elementos de uma lista
numeros = [1, 2, 3, 4, 5]
numeros_pares = list(filter(lambda x: x % 2 == 0, numeros))
Neste exemplo, a expressão lambda é utilizada para definir a condição de que um número é par quando o resto da divisão por 2 é igual a zero. A função filter é então aplicada a essa expressão lambda e à lista de números, retornando uma nova lista apenas com os números pares.
3. Mapear valores de dicionários
funcionarios = {'id': 1, 'nome': 'João', 'id': 2, 'nome': 'Maria', 'id': 3, 'nome': 'Pedro'}
nomes = list(map(lambda x: x['nome'], funcionarios))
Neste exemplo, a expressão lambda é utilizada para acessar o valor do campo ‘nome’ de cada elemento do dicionário. A função map é aplicada a essa expressão lambda e ao dicionário de funcionários, retornando uma nova lista apenas com os nomes dos funcionários.
4. Transformar strings em maiúsculas
nomes = ['joão', 'maria', 'pedro']
nomes_maiusculos = list(map(lambda x: x.upper(), nomes))
Neste exemplo, a expressão lambda é utilizada para transformar cada elemento da lista em letras maiúsculas utilizando o método upper(). A função map é então aplicada a essa expressão lambda e à lista de nomes, retornando uma nova lista com os nomes em maiúsculas.
Conclusão
Ao utilizar a expressão lambda junto com a função map, podemos otimizar nosso código em Python, tornando-o mais conciso e legível. A combinação dessas duas ferramentas nos permite realizar operações em sequências de forma eficiente e elegante.
A Awari é a melhor plataforma para aprender sobre ciência de dados no Brasil.
Aqui você encontra cursos com aulas ao vivo, mentorias individuais com os melhores profissionais do mercado e suporte de carreira personalizado para dar seu próximo passo profissional e aprender habilidades como Data Science, Data Analytics, Machine Learning e mais.
Já pensou em aprender de maneira individualizada com profissionais que atuam em empresas como Nubank, Amazon e Google? Clique aqui para se inscrever na Awari e começar a construir agora mesmo o próximo capítulo da sua carreira em dados.


