Python: Aprenda a usar as funções lambda e map para otimizar seu código
As funções lambda em Python são funções anônimas que não possuem um nome definido.
Glossário
O que são funções lambda em Python?
Introdução
As funções lambda em Python são funções anônimas, ou seja, são funções que não possuem um nome definido. Elas são criadas utilizando a palavra-chave lambda, seguida pelos parâmetros da função e uma expressão que define o retorno. Essas funções são utilizadas para criar pequenas e simples funções de forma mais concisa e direta.
Características das funções lambda
Uma das principais características das funções lambda é a sua simplicidade. Elas são úteis quando precisamos de uma função rápida e temporária, sem a necessidade de definir um nome para ela. Por exemplo, podemos utilizar funções lambda para realizar operações simples em uma lista, como dobrar cada elemento ou filtrar apenas os valores pares.
Além disso, as funções lambda também podem ser passadas como argumento para outras funções, como é o caso da função map, que veremos mais adiante. Isso permite uma maior flexibilidade e expressividade no código, tornando-o mais legível e conciso.
Utilizando a função map em Python
A função map em Python é utilizada para aplicar uma função a todos os elementos de uma sequência, como uma lista, por exemplo. Ela recebe como argumentos a função a ser aplicada e a sequência de elementos. A função map então retorna um objeto do tipo map, que contém os resultados da aplicação da função a cada elemento da sequência.
A função map é especialmente útil quando combinada com funções lambda. Podemos utilizar a função map em conjunto com uma função lambda para realizar uma determinada operação em todos os elementos de uma lista de forma simples e eficiente. Por exemplo, podemos utilizar a função map juntamente com uma função lambda para elevar ao quadrado todos os elementos de uma lista.



Exemplos de uso das funções lambda e map em Python
Exemplo 1: Dobrar os elementos de uma lista
numeros = [1, 2, 3, 4, 5]
dobro = list(map(lambda x: x * 2, numeros))
print(dobro) # Output: [2, 4, 6, 8, 10]
Neste exemplo, utilizamos a função lambda para definir uma função anônima que recebe um parâmetro x e retorna o dobro desse valor. Em seguida, utilizamos a função map juntamente com a função lambda para aplicar essa função a cada elemento da lista ‘numeros’. O resultado é uma nova lista com os elementos dobrados.
Exemplo 2: Filtrar apenas os valores pares de uma lista
numeros = [1, 2, 3, 4, 5]
pares = list(filter(lambda x: x % 2 == 0, numeros))
print(pares) # Output: [2, 4]
Neste exemplo, utilizamos a função lambda para definir uma função anônima que recebe um parâmetro x e retorna True se o valor for par e False caso contrário. Em seguida, utilizamos a função filter juntamente com a função lambda para aplicar essa função a cada elemento da lista ‘numeros’ e filtrar apenas os valores pares. O resultado é uma nova lista contendo apenas os valores pares.
Benefícios de utilizar funções lambda e map para otimizar seu código em Python
O uso das funções lambda e map em Python traz diversos benefícios para otimizar o código. Vamos destacar alguns deles:
- Concisão e legibilidade: As funções lambda permitem escrever funções de forma mais concisa e direta, o que torna o código mais legível e fácil de entender.
- Redução de código repetitivo: A combinação da função map com funções lambda evita a necessidade de escrever loops for para aplicar uma função a cada elemento de uma sequência, reduzindo a quantidade de código repetitivo.
- Eficiência no processamento de grandes quantidades de dados: O uso da função map permite processar grandes quantidades de dados de forma eficiente, aproveitando o poder de processamento do interpretador Python.
- Flexibilidade e reutilização de código: Tanto as funções lambda quanto a função map podem ser utilizadas de forma flexível e combinadas com outras funções, permitindo a reutilização de código em diferentes contextos.
Em resumo, as funções lambda e a função map são recursos poderosos da linguagem Python que permitem otimizar o código de forma eficiente, reduzindo a quantidade de código repetitivo e tornando-o mais legível e conciso. Ao dominar esses conceitos, você estará apto a utilizar essas ferramentas para melhorar a eficiência e a qualidade do seu código em Python.
Como utilizar a função map em Python?
A função map é uma ferramenta poderosa que nos permite aplicar uma função a todos os elementos de uma sequência, como uma lista, por exemplo. Ela recebe como argumentos a função a ser aplicada e a sequência de elementos. A função map então retorna um objeto do tipo map, que contém os resultados da aplicação da função a cada elemento da sequência.
Para utilizar a função map em Python, basta seguir os seguintes passos:
- Definir a função que será aplicada a cada elemento da sequência. Podemos utilizar uma função lambda, que é uma função anônima, ou uma função definida com a palavra-chave def.
- Passar a função e a sequência como argumentos para a função map.
- Armazenar o resultado da função map em uma variável, ou convertê-lo para uma lista, se desejado.
Vejamos alguns exemplos de como utilizar a função map em Python:
Exemplo 1: Dobrar os elementos de uma lista
numeros = [1, 2, 3, 4, 5]
dobro = list(map(lambda x: x * 2, numeros))
print(dobro) # Output: [2, 4, 6, 8, 10]
Neste exemplo, utilizamos a função lambda para definir uma função anônima que recebe um parâmetro x e retorna o dobro desse valor. Em seguida, utilizamos a função map juntamente com a função lambda para aplicar essa função a cada elemento da lista ‘numeros’. O resultado é uma nova lista com os elementos dobrados.



Exemplo 2: Converter strings para maiúsculas
palavras = ['python', 'aprenda', 'lambda', 'map']
maiuculas = list(map(str.upper, palavras))
print(maiuculas) # Output: ['PYTHON', 'APRENDA', 'LAMBDA', 'MAP']
Neste exemplo, utilizamos a função str.upper para converter todas as palavras da lista para maiúsculas. Passamos a função str.upper como argumento da função map, juntamente com a lista de palavras. O resultado é uma nova lista com as palavras convertidas para maiúsculas.
Além disso, a função map também pode ser utilizada com múltiplas sequências. Nesse caso, a função que será aplicada aos elementos deve receber o mesmo número de argumentos que o número de sequências. Por exemplo:
Exemplo 3: Somar elementos de duas listas
numeros1 = [1, 2, 3]
numeros2 = [4, 5, 6]
soma = list(map(lambda x, y: x + y, numeros1, numeros2))
print(soma) # Output: [5, 7, 9]
Neste exemplo, utilizamos a função lambda para definir uma função anônima que recebe dois parâmetros x e y, e retorna a soma desses valores. Utilizamos a função map juntamente com a função lambda para aplicar essa função aos elementos correspondentes das listas ‘numeros1’ e ‘numeros2’. O resultado é uma nova lista com a soma dos elementos.
Em resumo, a função map é uma ferramenta muito útil em Python para aplicar uma função a todos os elementos de uma sequência. Ela nos permite escrever código de forma mais concisa e eficiente, evitando a necessidade de loops for. Ao dominar o uso da função map, você estará apto a otimizar seu código e realizar operações em larga escala de forma mais eficiente e rápida em Python.
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.


