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.