Python Lambda функции

Lambda функции в Python — это анонимные функции, которые можно определить в одной строке и использовать для коротких операций.

Синтаксис lambda

 1# Базовый синтаксис
 2lambda arguments: expression
 3
 4# Пример
 5square = lambda x: x**2
 6print(square(5))  # 25
 7
 8# Эквивалентная обычная функция
 9def square(x):
10    return x**2

Использование с встроенными функциями

 1# С map()
 2numbers = [1, 2, 3, 4, 5]
 3squared = list(map(lambda x: x**2, numbers))
 4print(squared)  # [1, 4, 9, 16, 25]
 5
 6# С filter()
 7numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 8evens = list(filter(lambda x: x % 2 == 0, numbers))
 9print(evens)  # [2, 4, 6, 8, 10]
10
11# С sorted()
12students = [('Alice', 85), ('Bob', 90), ('Charlie', 78)]
13sorted_by_grade = sorted(students, key=lambda x: x[1])
14print(sorted_by_grade)

Ограничения lambda

  • Только одно выражение (не инструкции)
  • Не могут содержать многострочный код
  • Нет инструкций типа print, return, assert
  • Менее читаемы для сложной логики

Когда использовать lambda

  • Короткие операции с map, filter, sorted
  • Callback функции
  • Функции как аргументы
  • Временные функции

FAQ

Когда лучше использовать lambda, а когда обычную функцию?

Lambda для коротких, простых операций. Обычные функции для сложной логики и многократного использования.