Não consegui compreender bem a função lambda sua composição e uso. Se alguém puder me explicar agradeço :D
Não consegui compreender bem a função lambda sua composição e uso. Se alguém puder me explicar agradeço :D
Oii Arya, tudo bem?
A função lambda é um pouco confusa no começo mesmo, mas a função nada mais é do que uma função anônima, ou seja, as funções normais nós criamos utilizando o def e as funções lambda são usados com o comando lambda mesmo.
Mas como usar essa função anônima?
Digamos que você tem uma lista de valores e ele tem vários números inteiros, positivos e negativos, mas você quer criar uma função para que somente os números inteiros positivos sejam mostrados.
Utilizando uma função normal, definida pelo def, podemos fazer assim:
def maior_que_zero(x):
return x > 0
valores = [10, 4, -1, 3, 5, -9, -11]
print filter(maior_que_zero, valores)
O resultado desse código é:
[10, 4, 3, 5]
Agora para você obter o mesmo resultado utilizando a função lambda, você pode fazer dessa forma:
valores = [10, 4, -1, 3, 5, -9, -11]
print filter(lambda x: x > 0, valores)
O resultado será o mesmo que obtivemos com a função maior_que_zero, mas de forma mais rápida e clara.
Espero que tenha te ajudado a entender melhor, se precisar de mais alguma coisa estou por aqui, ok?
Bons estudos ^^