Funções Lambda
Deslize para mostrar o menu
Funções lambda são um recurso fundamental do Python que permitem criar funções pequenas e anônimas utilizando uma sintaxe concisa. O principal objetivo de uma função lambda é definir uma função em uma única linha, geralmente para casos de uso rápidos e pontuais, onde uma definição completa de função usando def seria desnecessariamente extensa.
Funções lambda são mais frequentemente utilizadas em combinação com funções de ordem superior como map, filter e sorted, quando é necessário passar uma função como argumento, mas não se deseja definir uma função completa em outro local do código.
Uma função lambda pode receber qualquer quantidade de argumentos, mas deve conter apenas uma única expressão. O resultado dessa expressão é retornado automaticamente. Embora funções lambda sejam úteis para criar funções rápidas e descartáveis, elas possuem limitações: não podem conter múltiplas instruções, atribuições ou lógica complexa, e tornam-se menos legíveis se usadas em excesso. Devido a essas restrições, recomenda-se utilizar funções lambda para tarefas simples e preferir funções regulares para operações mais complexas.
123numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x ** 2, numbers)) print(squared)
O código acima utiliza uma função lambda com a função de ordem superior map para elevar ao quadrado cada número na lista numbers. A expressão lambda x: x ** 2 define uma função anônima que recebe um único argumento x e retorna seu quadrado. Essa abordagem permite aplicar rapidamente uma operação simples a cada elemento de uma lista sem a necessidade de definir uma função nomeada separada, tornando o código mais conciso e focado quando a função é necessária apenas uma vez.
123numbers = [1, 2, 3, 4, 5, 6] evens = list(filter(lambda x: x % 2 == 0, numbers)) print(evens)
Este exemplo utiliza uma função lambda com filter para extrair apenas os números pares da lista de números. O uso de uma função lambda aqui torna a lógica de filtragem concisa e legível, especialmente quando é necessário realizar uma verificação simples sem criar uma função nomeada separada.
1. Qual é a principal diferença entre uma função lambda e uma função regular?
2. Quando você deve usar uma função lambda em vez de def?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo