Publicado em

Lambda em Python

Partilhar:

Introdução

Python, sendo uma linguagem tão versátil, oferece várias ferramentas que facilitam a vida dos programadores. Uma delas é a função lambda. Através deste artigo, iremos desvendar os mistérios deste recurso, explorando as suas vantagens e limitações.

A Origem do Lambda

O termo lambda não é exclusivo do Python. Ele tem suas raízes no cálculo lambda, uma estrutura matemática e lógica. Em programação, é frequentemente associado a linguagens que apoiam a programação funcional, como Lisp e Haskell.

Características principais

  1. Concisão: O lambda permite criar funções em uma única linha.
  2. Simplicidade: Evita-se o uso do termo def e return.
  3. Temporárias: São frequentemente usadas para operações que não serão reutilizadas.
# Comparando def e lambda
def multiplicacao_def(a, b):
  return a * b

multiplicacao_lambda = lambda a, b: a * b

print('Usando def:', multiplicacao_def(5, 4))       # Usando def: 20
print('Usando lambda:', multiplicacao_lambda(5, 4)) # Usando lambda: 20

Aplicações Comuns do Lambda

1. Ordenação Personalizada

Imagine que temos uma lista de tuplas, onde queremos ordenar pelo segundo elemento:

lista = [(1, 2), (3, 1), (4, 5)]
lista_ordenada = sorted(lista, key=lambda x: x[1])
print(lista_ordenada) # [(3, 1), (1, 2), (4, 5)]

2. Filtragem de Dados

Podemos usar o lambda com a função filter() para filtrar elementos de uma lista:

numeros = [1, 2, 3, 4, 5, 6]
pares = list(filter(lambda x: x % 2 == 0, numeros))
print(pares) # [2, 4, 6]

Armadilhas Comuns

Apesar de útil, o lambda não é sempre a melhor escolha. Em funções mais complexas, pode tornar o código menos legível. Além disso, o lambda é limitado a uma única expressão, o que significa que não pode conter várias instruções ou comandos.

Conclusão

A função lambda é uma ferramenta poderosa, mas como qualquer ferramenta, deve ser usada no contexto certo. É perfeita para pequenas operações, mas para tarefas mais complexas, as funções tradicionais são mais apropriadas.

Happy coding!