Lambda do Python

A função lambda é uma pequena função anônima.

A função lambda pode aceitar qualquer quantidade de parâmetros, mas pode ter apenas uma expressão.

Sintaxe

lambda argumentos : expression

Executar a expressão e retornar o resultado:

Exemplo

Uma função lambda que adiciona 10 ao número passado como parâmetro e imprime o resultado:

x = lambda a : a + 10
print(x(5))

Executar Exemplo

A função lambda pode aceitar qualquer número de parâmetros:

Exemplo

Uma função lambda que multiplica os parâmetros a e b e imprime o resultado:

x = lambda a, b : a * b
print(x(5, 6))

Executar Exemplo

Exemplo

Uma função lambda que soma os parâmetros a, b e c e imprime o resultado:

x = lambda a, b, c : a + b + c
print(x(5, 6, 2))

Executar Exemplo

Por que usar a função Lambda?

Quando você usa lambda como uma função anônima dentro de outra função, você melhor demonstra a poderosa capacidade da lambda.

Suponha que você tenha uma definição de função com um parâmetro que será multiplicado por um número desconhecido:

def myfunc(n):
  return lambda a : a * n

Crie uma função que sempre duplica o número que você enviar usando a mesma definição de função:

Exemplo

def myfunc(n):
  return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))

Executar Exemplo

Ou, crie uma função que sempre multiplica o número que você enviar por três usando a mesma definição de função:

Exemplo

def myfunc(n):
  return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))

Executar Exemplo

Ou, use a mesma definição de função no mesmo programa para gerar duas funções:

Exemplo

def myfunc(n):
  return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11)) 
print(mytripler(11))

Executar Exemplo

Se precisar de uma função anônima em curto prazo, use a função lambda.