Entendendo as Funções Lambda em Python

Ana Maria Gomes
5 minutos de leitura

Conteúdos do tutorial

As funções lambda em Python são uma ferramenta poderosa e concisa para criar funções anônimas, ou seja, funções sem um nome definido. Elas são úteis em muitos contextos, especialmente quando trabalhamos com funções que exigem outra função como argumento, como é o caso das funções map, filter e sorted. Neste tutorial, vamos explorar o que são funções lambda, como utilizá-las e em quais situações elas podem ser particularmente úteis.

O que são Funções Lambda?

As funções lambda são uma forma de criar funções em uma única linha de código. Elas são definidas pela palavra-chave lambda, seguida pelos parâmetros da função, dois pontos e a expressão que será retornada pela função. A sintaxe básica de uma função lambda é a seguinte:

lambda parâmetros: expressão

Vamos ver um exemplo simples de uma função lambda que eleva um número ao quadrado:

quadrado = lambda x: x ** 2
print(quadrado(5))  # Saída: 25
Testar

Quando usar Funções Lambda?

As funções lambda são particularmente úteis quando precisamos de uma função simples por um curto período de tempo e não queremos definir uma função completa usando def. Elas são comumente usadas com funções como map, filter e sorted, que aceitam uma função como argumento.

Exemplo com map

A função map aplica uma função a todos os itens de uma lista. Veja como podemos usar uma função lambda com map para elevar ao quadrado todos os números de uma lista:

numeros = [1, 2, 3, 4, 5]
quadrados = map(lambda x: x ** 2, numeros)
print(list(quadrados))  # Saída: [1, 4, 9, 16, 25]
Testar

Exemplo com filter

A função filter filtra itens de uma lista que não atendem a uma condição. Aqui está um exemplo de como usar uma função lambda com filter para obter apenas os números pares de uma lista:

numeros = [1, 2, 3, 4, 5, 6]
pares = filter(lambda x: x % 2 == 0, numeros)
print(list(pares))  # Saída: [2, 4, 6]
Testar

Exemplo com sorted

A função sorted ordena os itens de uma lista. Podemos usar uma função lambda para definir a lógica de ordenação:

lista = ['banana', 'abacate', 'uva', 'caqui']
lista_ordenada = sorted(lista, key=lambda x: len(x))
print(lista_ordenada)  # Saída: ['uva', 'caqui', 'banana', 'abacate']
Testar

Vantagens e Desvantagens

As funções lambda em Python têm suas vantagens, como a concisão e a facilidade de leitura quando usadas em operações simples. No entanto, elas também têm desvantagens. Por exemplo, podem ser menos legíveis quando a lógica é complexa e, por serem anônimas, não podem ser chamadas em outro lugar no código.

Conclusão

As funções lambda em Python são essenciais e oferecem uma maneira elegante de escrever funções pequenas e descartáveis. Elas são especialmente úteis em combinação com funções que requerem outra função como argumento. Com este tutorial, você deve ter uma boa compreensão de como e quando usar funções lambda em seus projetos em Python. Continue praticando e você logo se tornará proficiente em sua aplicação!

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: