Sobes.tech
Junior

O que é uma expressão lambda em Python?

sobes.tech IA

Resposta da IA

A expressão lambda em Python é uma função anónima definida usando a palavra-chave lambda. Tem uma sintaxe simples: lambda arguments: expression.

Características principais:

  • Anónima: Não tem nome.
  • Em uma única linha: Deve estar numa única linha de código.
  • Uma única expressão: Pode conter apenas uma expressão, cujo resultado é devolvido.
  • Pode aceitar qualquer número de argumentos: Mas apenas uma expressão.

Exemplos de uso:

# Função lambda simples para duplicar um número
double = lambda x: x * 2
# Uso:
# print(double(5)) # Vai mostrar 10

# Função lambda com vários argumentos
add = lambda a, b: a + b
# Uso:
# print(add(3, 7)) # Vai mostrar 10

# Uso de lambda com funções de ordem superior
# Por exemplo, filter()
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# print(even_numbers) # Vai mostrar [2, 4, 6]

# Uso de lambda com map()
squared_numbers = list(map(lambda x: x**2, numbers))
# print(squared_numbers) # Vai mostrar [1, 4, 9, 16, 25, 36]

# Uso de lambda como argumento para a chave em sorted()
data = [{'name': 'Alice', 'age': 30}, {'name': 'Bob', 'age': 25}]
sorted_data_by_age = sorted(data, key=lambda item: item['age'])
# print(sorted_data_by_age) # Vai mostrar a lista ordenada por idade

Expressões lambda são úteis para funções pequenas e de uso único, frequentemente usadas em combinação com funções de ordem superior (map, filter, sorted). No entanto, para tarefas mais complexas ou funções que requerem documentação (docstrings), recomenda-se usar funções normais definidas com def.