expressões lambda são um poderoso recurso na linguagem de programação Python. No entanto, eles podem ser um pouco intimidante , à primeira vista , especialmente porque eles não têm equivalente direto em linguagens como Java que a maioria dos cursos de programação são ensinadas dentro Estas expressões permitem ao programador definir funções sem nome na mosca e atribuir-lhes um nome de variável . Você pode criar uma matriz de funções com lambda e atribuí-los todos para um único nome de variável. Instruções
1
Definir uma função com a palavra-chave lambda e atribuí-lo a "soma " nome da variável
>>> sum = lambda x , y: . X + y
Teste para ver se a sua função lambda trabalha com o seguinte comando:
>>> soma (2,2 ) 4
Isso mostra a absoluta mínimo para lambda , mas você pode fazer um pouco mais com ele.
2
Definir mais de uma função lambda para uma única variável.
>>> operação = { "soma" : lambda x , y: x + y, ' sub ': lambda x , y: xy , ' mul ': lambda x , y: x * y , 'div' : lambda x , y: x /y} >>> operação [' soma '] (2,2 ) 4 >>> operação [' mul '] (2,4) 8 >>> operação [' div '] (4,4 ) 1 >>> operação [' sub '] (4,1) 3
Isso ainda não revela uma das características mais impressionantes de lambda. Na verdade, mais do que qualquer outra característica , esta é a que gera mais entusiasmo sobre funções lambda em linguagens mais antigas, como LISP que apoiaram.
3
Use lambda para , num único linha , executar uma operação em cada elemento em uma lista e retornar uma nova lista contendo os resultados da operação.
>>> alist = [0 , 1, 2 , 3, 4 ]> >> mapa (lambda x: x * 6, alist ) [0 , 6, 12 , 18, 24 ]
para outro exemplo, para encontrar os comprimentos de todas as palavras em uma string , utilize o seguinte função lambda :
>>> string = " . foi um longo dia no escritório , mas quando eu chegar em casa para você, é tudo valer a pena " >>> ; mapa ( lambda x : len ( x ) , string.split ( ) ) [ 2 , 3 , 1 , 4 , 4 , 3 , 2 , 3 , 7 , 3 , 4 , 1 , 4 , 4 , 2 , 4 , 2, 2, 3, 11 ]
Isso permite que um programador para fazer , de uma linha de curto e fácil de ler, o que é um programador Java exigiria quatro ou cinco linhas de alcançar.