O que são funções Lambda e como usá-las?



Aprenda as funções lambda do Python juntamente com a diferença entre as funções normais e as funções lambda e como elas podem ser usadas em filter (), map (), reduce ().

Um nome é uma convenção usada para se referir a ou se referir a qualquer entidade. Quase tudo ao nosso redor tem um nome. O mundo da programação também vai de acordo com isso. Mas é preciso nomear tudo? Ou você pode ter algo que seja apenas 'anônimo'? A resposta é sim. ' fornece funções Lambda, também conhecidas como funções anônimas que, na verdade, não têm nome. Então, vamos prosseguir para aprender sobre esses 'Mistérios Anônimos' de Python, na sequência a seguir.

Então, vamos começar :)





Por que usar funções Lambda do Python?


O objetivo principal das funções anônimas entra em cena quando você precisa de alguma função apenas uma vez. Eles podem ser criados onde quer que sejam necessários. Por esse motivo, as funções Lambda do Python também são conhecidas como funções descartáveis ​​que são usadas junto com outras funções predefinidas, como filter (), map (), etc. Essas funções ajudam a reduzir o número de linhas de seu código em comparação com normal .

Para provar isso, vamos prosseguir e aprender sobre as funções Lambda do Python.



O que são funções Lambda do Python?


As funções Lambda do Python são funções que não têm nenhum nome. Eles também são conhecidos como funções anônimas ou sem nome. A palavra ‘lambda’ não é um nome, mas uma palavra-chave. Esta palavra-chave especifica que a função a seguir é anônima.

Agora que você está ciente do que essas funções anônimas se referem, vamos prosseguir para ver como você escreve essas funções Lambda do Python.

Como escrever funções Lambda em Python?

Uma função Lambda é criada usando o operador lambda e sua sintaxe é a seguinte:



SINTAXE:

argumentos lambda: expressão

Pitão função lambda pode ter qualquer número de argumentos, mas leva apenas uma expressão. As entradas ou argumentos podem começar em 0 e ir até qualquer limite. Assim como qualquer outra função, é perfeitamente normal ter funções lambda sem entradas. Portanto, você pode ter funções lambda em qualquer um dos seguintes formatos:

EXEMPLO:

lambda: “Especifique o propósito”

Aqui, a função lambda não aceita argumentos.

EXEMPLO:

lambda a1: “Especifique o uso de um1'

Aqui, lambda está pegando uma entrada que é um1.

converter decimal em código binário python

Da mesma forma, você pode ter lambda a1, para2, para3..paran.

Vamos dar alguns exemplos para demonstrar isso:

EXEMPLO 1:

a = lambda x: x * x imprimir (a (3))

RESULTADO: 9

EXEMPLO 2:

a = lambda x, y: x * y imprimir (a (3,7))

RESULTADO: vinte e um

Como você pode ver, peguei dois exemplos aqui. O primeiro exemplo usa a função lambda com apenas uma expressão, enquanto o segundo exemplo tem dois argumentos passados ​​para ela. Observe que ambas as funções têm uma única expressão seguida pelos argumentos. Portanto, as funções lambda não podem ser usadas onde você precisa de expressões multilinhas.

Por outro lado, as funções normais do Python podem receber qualquer número de instruções em suas definições de função.

Como as funções anônimas reduzem o tamanho do código?

Antes de comparar a quantidade de código necessária, vamos primeiro escrever a sintaxe de e compare-o com as funções lambda descritas anteriormente.

Qualquer função normal em Python é definida usando um def palavra-chave da seguinte forma:

SINTAXE:

def function_name (parâmetros):
afirmações)

Como você pode ver, a quantidade de código necessária para uma função lambda é bem menor do que a das funções normais.

Vamos reescrever o exemplo que pegamos anteriormente usando funções normais agora.

EXEMPLO:

def my_func (x): return x * x print (my_func (3))

RESULTADO: 9

Como você pode ver, no exemplo acima, precisamos de uma instrução return dentro de my_func para avaliar o valor do quadrado de 3. Contrariamente, a função lambda não faz uso desta instrução return, mas, o corpo da função anônima é escrito na mesma linha da própria função, após o símbolo de dois pontos. Portanto, o tamanho da função é menor do que my_func.

No entanto, as funções lambda nos exemplos acima são chamadas usando algum outro uma. Isso é feito porque essas funções não têm nome e, portanto, exigem que algum nome seja chamado. Mas, esse fato pode parecer confuso sobre por que usar tais funções sem nome quando você realmente precisa atribuir algum outro nome para chamá-las? E, claro, depois de atribuir o nome a à minha função, ela não permanece mais sem nome! Certo?

É uma pergunta legítima, mas a questão é que esta não é a maneira certa de usar essas funções anônimas.

Funções anônimas são mais bem usadas em outros funções de ordem superior que faz uso de alguma função como argumento ou retorna uma função como saída. Para demonstrar isso, vamos passar ao nosso próximo tópico.

Funções Lambda do Python dentro de funções definidas pelo usuário:

Como mencionado acima, as funções lambda são usadas dentro de outras funções para marcar a melhor vantagem.

O exemplo a seguir consiste em new_func, que é uma função Python normal que recebe um argumento x. Esse argumento é então adicionado a algum argumento y desconhecido que é fornecido por meio da função lambda.

EXEMPLO:

def new_func (x): return (lambda y: x + y) t = new_func (3) u = new_func (2) print (t (3)) print (u (3))

RESULTADO:

aprender ssis passo a passo

6
5
Como você pode ver, no exemplo acima, a função lambda que está presente em new_func é chamada sempre que fazemos uso de new_func (). Cada vez, podemos passar valores separados para os argumentos.

Agora que você viu como usar funções anônimas em funções de ordem superior, vamos agora avançar para entender um de seus usos mais populares que está dentro dos métodos filter (), map () e reduce ().

Como usar funções anônimas em filter (), map () e reduce ():

Funções anônimas em filtro():

filtro():

O método filter () é usado para filtrar os iteráveis ​​dados (listas, conjuntos, etc) com a ajuda de outra função, passada como um argumento, para testar todos os elementos como verdadeiros ou falsos.

A sintaxe desta função é:

SINTAXE:

filtro (função, iterável)

Agora considere o seguinte exemplo:

EXEMPLO:

minha_lista = [2,3,4,5,6,7,8] nova_lista = lista (filtro (lambda a: (a / 3 == 2), minha_lista)) imprimir (nova_lista)

RESULTADO: [6]

Aqui, my_list é uma lista de valores iteráveis ​​que é passada para a função de filtro. Esta função usa a função lambda para verificar se há algum valor na lista, que será igual a 2 quando dividido por 3. A saída consiste em uma lista que satisfaz a expressão presente na função anônima.

mapa():

A função map () em Python é uma função que aplica uma determinada função a todos os iteráveis ​​e retorna uma nova lista.

SINTAXE:

map (função, iterável)

tamanho da matriz em javascript

Vejamos um exemplo para demonstrar o uso das funções lambda na função map ():

EXEMPLO:

my_list = [2,3,4,5,6,7,8] new_list = list (map (lambda a: (a / 3! = 2), li)) print (new_list)

RESULTADO:

[Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Falso, Verdadeiro, Verdadeiro]

A saída acima mostra que, sempre que o valor dos iteráveis ​​não for igual a 2 quando dividido por 3, o resultado retornado deve ser True. Portanto, para todos os elementos em minha_lista, ele retorna verdadeiro, exceto para o valor 6 quando a condição muda para False.

reduzir():

A função reduz () é usada para aplicar alguma outra função a uma lista de elementos que são passados ​​como um parâmetro para ela e finalmente retorna um único valor.

A sintaxe desta função é a seguinte:

SINTAXE:

reduzir (função, sequência)

EXEMPLO:

das funções de importação, redução, redução (lambda a, b: a + b, [23,21,45,98])

O exemplo acima é ilustrado na seguinte imagem:

reduz-python lambda-edureka

RESULTADO: 187

A saída mostra claramente que todos os elementos da lista são adicionado continuamente para retornar o resultado final.

Com isso, chegamos ao final deste artigo sobre ‘Python Lambda’. Espero que você tenha esclarecido tudo o que foi compartilhado com você. Pratique o máximo possível e reverta sua experiência.

Tem alguma questão para nós? Mencione isso na seção de comentários deste blog “Python Lambda” e entraremos em contato com você o mais breve possível.

Para obter conhecimento aprofundado sobre Python e seus vários aplicativos, você pode se inscrever para com suporte 24/7 e acesso vitalício.