Função Python Lambda (anônima)

Neste artigo, você aprenderá sobre a função anônima, também conhecida como funções lambda. Você aprenderá o que são, sua sintaxe e como usá-los (com exemplos).

O que são funções lambda em Python?

Em Python, uma função anônima é uma função definida sem um nome.

Enquanto as funções normais são definidas com a defpalavra - chave em Python, as funções anônimas são definidas com a lambdapalavra - chave.

Portanto, as funções anônimas também são chamadas de funções lambda.

Como usar funções lambda em Python?

Uma função lambda em python possui a seguinte sintaxe.

Sintaxe da função Lambda em python

 argumentos lambda: expressão

As funções lambda podem ter qualquer número de argumentos, mas apenas uma expressão. A expressão é avaliada e retornada. As funções lambda podem ser usadas sempre que os objetos de função são necessários.

Exemplo de função Lambda em python

Aqui está um exemplo de função lambda que dobra o valor de entrada.

 # Program to show the use of lambda functions double = lambda x: x * 2 print(double(5))

Resultado

 10

No programa acima, lambda x: x * 2é a função lambda. Aqui x é o argumento e x * 2a expressão avaliada e retornada.

Esta função não tem nome. Ele retorna um objeto de função que é atribuído ao identificador double. Agora podemos chamá-lo como uma função normal. A declaração

 double = lambda x: x * 2

é quase o mesmo que:

 def double (x): retorna x * 2

Uso da função Lambda em python

Usamos funções lambda quando exigimos uma função sem nome por um curto período de tempo.

Em Python, geralmente o usamos como um argumento para uma função de ordem superior (uma função que recebe outras funções como argumentos). As funções Lambda são usadas junto com funções integradas como filter(), map()etc.

Exemplo de uso com filtro ()

A filter()função em Python recebe uma função e uma lista como argumentos.

A função é chamada com todos os itens da lista e uma nova lista é retornada contendo itens para os quais a função avalia True.

Aqui está um exemplo de uso de filter()função para filtrar apenas números pares de uma lista.

 # Program to filter out only the even items from a list my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(filter(lambda x: (x%2 == 0) , my_list)) print(new_list)

Resultado

 (4, 6, 8, 12)

Exemplo de uso com mapa ()

A map()função em Python inclui uma função e uma lista.

A função é chamada com todos os itens da lista e uma nova lista é retornada, contendo itens retornados por aquela função para cada item.

Aqui está um exemplo de uso de map()função para dobrar todos os itens em uma lista.

 # Program to double each item in a list using map() my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(map(lambda x: x * 2 , my_list)) print(new_list)

Resultado

 (2, 10, 8, 12, 16, 22, 6, 24)

Artigos interessantes...