Como usar as funções Lambda em Python

Como usar as funções Lambda em Python
Este artigo explicará como usar as funções Lambda no Python. As funções lambda podem ser usadas para escrever liners concisas, implementar lógica e obter rapidamente valores de retorno que podem ser alimentados a outras expressões.

Sobre funções lambda

As funções Lambda em Python são funções sem nome e anônimas que podem ser usadas para criar expressões que retornem algum tipo de valor com base nos cálculos implementados na própria expressão. A lógica nessas funções lambda pode ser escrita de maneira concisa, geralmente algo que se encaixa facilmente em uma linha. Às vezes, eles podem ser difíceis de ler, especialmente se as pessoas não forem bem versadas com funções lambda. No entanto, eles têm o benefício de manter as coisas juntas dentro dos blocos de código e ajudam melhor a entender o contexto.

Sintaxe das funções lambda

A sintaxe de uma função lambda em Python se parece com a seguinte:

Multiply = lambda x, y: x * y

A primeira parte da expressão de Lambda, pouco antes de Colon (:) Símbolo, leva parâmetros como argumentos. A segunda parte, após o símbolo do cólon, precisa ser um valor de retorno. Este valor de retorno também pode ser uma expressão com lógica. De fato, as funções lambda são usadas quase o tempo todo para implementar alguma lógica nos argumentos fornecidos e depois retornar o resultado final.

Para testar a função Lambda declarada acima, você pode usar a seguinte declaração:

Imprimir (multiplicar (3, 4))

Você deve obter a seguinte saída:

12

A mesma função lambda seria escrita da seguinte maneira:

def multiply (x, y):
retornar x * y
Imprimir (multiplicar (3, 4))

Ambas as amostras de código fornecerão a mesma saída. Mais alguns exemplos de funções lambda são explicados abaixo.

Passe o lambda funciona como argumentos

Você pode usar as funções Lambda para fazer cálculos e fornecer o valor de retorno como argumentos a outras funções. O método de classificação em Python leva um argumento "chave" em que você pode especificar uma função chamada que leva um único argumento para fins de classificação. Em vez de primeiro definir uma função separada que retorna uma chave e depois fornecendo a referência da função ao argumento, você pode simplesmente usar uma função lambda.

frutas = [(2, 'maçãs'), (4, 'laranjas'), (3, 'bananas')]]]
frutas.classificar (chave = elemento lambda: elemento [0])
impressão (frutas)

O código acima produzirá a seguinte saída:

[(2, 'maçãs'), (3, 'bananas'), (4, 'laranjas')]]

Você pode usar o Lambda em qualquer método desse tipo que tome uma função chamada como argumento (método de filtro, por exemplo).

Use funções lambda em compreensões de lista

Você pode usar o Lambda nas compreensões da lista e uma lista será devidamente criada a partir dos valores retornados pela expressão Lambda.

get_square = lambda A: a * a
quadrados = [get_square (x) para x no intervalo (5)]
Impressão (quadrados)

Isso produzirá a seguinte saída:

[0, 1, 4, 9, 16]

A amostra de código acima também pode ser escrita da seguinte maneira em que "X" é fornecido à função Lambda como um argumento:

quadrados = [(lambda x: x * x) (x) para x no intervalo (5)]
Impressão (quadrados)

Este exemplo apenas ilustra o uso de funções lambda em compreensões de lista. Caso contrário, você pode calcular facilmente quadrados usando uma declaração mínima de compreensão da lista:

Imprimir ([x * x para x em intervalo (5)]))

Use funções lambda em dicionários de python

O exemplo de código abaixo ilustra as funções lambda usadas em pares de valor-chave em um dicionário de Python. Uma vez definido, você pode chamar essas funções a qualquer momento.

calcular = 'sum': lambda a, b: a + b, 'diferença': lambda a, b: a - b
Imprimir (calcular ['soma'] (4, 5)))
Imprimir (calcular ['diferença'] (4, 5)))

Você deve obter a seguinte saída após executar o código acima:

9
-1

Conclusão

As funções Lambda fornecem uma excelente maneira de escrever expressões de abreviação e manter as coisas arrumadas e organizadas sem desnecessárias, criando muitas funções nomeadas. No entanto, o uso excessivo de funções lambda pode dificultar a leitura do código, especialmente quando o código está sendo visto por mais de uma pessoa. É melhor ter um código mais legível (mesmo que seja detalhado) do que ter algo que pode ser um pouco difícil de entender nas revisits.