O que é uma função lambda do Python?
Uma função lambda é uma pequena função anônima que retorna um objeto.
O objeto retornado pela função lambda geralmente é atribuído a uma variável ou usado como parte de outras funções maiores.
Em vez da palavra-chave def convencional usada para criar funções, uma função lambda é definida usando a palavra-chave lambda. A estrutura das funções lambdas pode ser vista abaixo:
Exemplos de lambdas simples
Aqui estão alguns exemplos de lambdas em ação:
square = lambda n : n * n
num = square(5)
print(num)
sub = lambda x, y : x-y
print(sub(5, 3))
O objetivo das funções lambdas
Um lambda é muito mais legível do que uma função completa, pois pode ser escrito em linha. Portanto, é uma boa prática usar lambdas quando a expressão da função é pequena.
A beleza das funções lambda reside no fato de que elas retornam objetos de função. Isso as torna úteis quando usadas com funções como a map ou filter, que exigem objetos de função como argumentos.
Função map com lambda
Lambda torna a função map mais concisa.
# Dobrar o valor de cada elemento
myList2 = map(lambda n : n*2, myList)
print(myList2)
def double(n):
return n * 2
myList = [10, 25, 17, 9, 30, -5]
myList2 = map(double, myList)
print(myList2)
Filter com lambda
Semelhante à função map, a função filter pode ser simplificada com lambda.
# Filtra os elementos que não são múltiplos de 5
myList2 = filter(lambda n : n%5 == 0, myList)
print(myList2)
if(n % 5 == 0):
return n
myList = [10, 25, 17, 9, 30, -5]
myList2 = filter(multipleOf5, myList)
print(myList2)
Fonte: What is a Python lambda function?
Licença: Creative Commons -Attribution -ShareAlike 4.0 (CC-BY-SA 4.0)
0 comentários:
Postar um comentário