Python Lambda функции
Lambda функции в Python — это анонимные функции, которые можно определить в одной строке и использовать для коротких операций.
Синтаксис lambda
Использование с встроенными функциями
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 для коротких, простых операций. Обычные функции для сложной логики и многократного использования.