Iniciante Fundamentos

Funções lambda

Lambda é uma função pequena e anônima, escrita em uma linha. Útil quando você precisa de uma função rápida e descartável.

dobro = lambda x: x * 2
print(dobro(5))   # 10

Equivale a:

def dobro(x):
    return x * 2

Vários argumentos

soma = lambda a, b: a + b
print(soma(2, 3))   # 5

Onde lambda brilha

Em funções que recebem outra função, como sorted, map e filter.

# ordenar por tamanho da palavra
palavras = ["banana", "uva", "maçã"]
print(sorted(palavras, key=lambda p: len(p)))
# ['uva', 'maçã', 'banana']
# dobrar todos os números
numeros = [1, 2, 3]
dobrados = list(map(lambda x: x * 2, numeros))
print(dobrados)   # [2, 4, 6]
# filtrar pares
pares = list(filter(lambda x: x % 2 == 0, range(10)))
print(pares)   # [0, 2, 4, 6, 8]

Para lógica maior, prefira def: lambda só aceita uma expressão.