Funções Python Lambda: Guia de funções anônimas
Aprenda como escrever funções lambda anônimas em Python. Domine padrões de programação funcional usando map(), filter() e sorted() com sintaxe lambda.
Visão geral
Em Python, as funções lambda – também conhecidas como funções anônimas – são funções pequenas, rápidas e de uma linha que não requerem a palavra-chave `def` padrão ou um nome formal. Eles são destinados ao uso rápido e temporário, permitindo que você passe a lógica funcional como um argumento diretamente embutido. Isso torna seu código mais compacto, reduzindo a sobrecarga de escrever funções auxiliares completas que são chamadas apenas em um local.
A sintaxe de uma função lambda é simples: `argumentos lambda: expressão`. Ao contrário das funções padrão, um lambda não possui uma instrução `return` explícita; a expressão é avaliada e retornada automaticamente. Além disso, as funções lambda são restritas a uma única expressão, o que significa que você não pode escrever loops, atribuições ou blocos de condições complexos de várias linhas dentro delas, impondo uma abordagem limpa e funcional.
As funções Lambda são comumente usadas em combinação com funções integradas de ordem superior, como `map()` (que aplica uma função a cada item em uma lista), `filter()` (que retém os itens que correspondem a uma condição) e `sorted()` (que classifica os itens usando uma chave de classificação personalizada). Por exemplo, classificar uma lista de dicionários por uma chave de dicionário específica é muito fácil ao usar um lambda como chave de classificação. Compreender as funções lambda fornece uma ferramenta vital para escrever código Python limpo.
Saída de código e execução
Classificando listas de dicionários complexos e filtrando conjuntos de dados usando funções anônimas embutidas.
# Sorting using lambda
students = [
{"name": "Alice", "grade": 88},
{"name": "Bob", "grade": 95},
{"name": "Charlie", "grade": 90}
]
# Sort students by grade (descending)
sorted_students = sorted(students, key=lambda s: s["grade"], reverse=True)
print("Sorted students by grade:")
for student in sorted_students:
print(f"- {student['name']}: {student['grade']}")
# Filtering using lambda
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print(f"\nOdd numbers: {odd_numbers}")Sorted students by grade:
- Bob: 95
- Charlie: 90
- Alice: 88
Odd numbers: [1, 3, 5, 7]Implementação passo a passo
- Passando critérios de classificação personalizados para list.sort() e sorted()
- Aplicando transformações inline em pipelines de ciência de dados
- Definindo retornos de chamada rápidos em aplicativos de UI orientados a eventos
Perguntas frequentes
Uma função lambda pode receber vários argumentos?
Sim, você pode definir vários argumentos separados por vírgulas, por exemplo, lambda x, y: x + y.
Por que as funções lambda são chamadas de anônimas?
Porque elas são criadas sem uma ligação de nome, ao contrário das funções def que registram um nome específico no namespace local.
Tópicos Relacionados
Domine as funções do Python. Aprenda como escrever código reutilizável usando def, definir argumentos, retornar valores e compreender o escopo local e globalmente.
Compreensões PythonEscreva um Python mais limpo e rápido. Lista mestre, dicionário e compreensão de conjuntos com exemplos práticos, condições de filtragem e loops aninhados.
Recursos Python recomendados
Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.
Como usar funções Lambda em Python
Aprenda como usar funções lambda em Python. Domine funções anônimas, retornos de chamada embutidos e classificação de dados de listas com chaves lambda.
Folha de dicas dos métodos de string Python
Um guia de referência completo para manipulação de strings em Python. Domine a formatação, pesquisa, divisão, substituição e verificação de propriedades de string.
Python vs JavaScript: qual linguagem de programação é a melhor?
Uma comparação abrangente entre Python e JavaScript. Explore diferenças de sintaxe, desempenho, casos de uso (backend versus frontend) e exemplos de codificação.