Lambda-функции в Python: практическое руководство по анонимным функциям
Lambda-функции в Python: практическое руководство по анонимным функциям
Узнайте, как анонимные lambda-функции Python могут упростить ваш код. Это руководство объясняет их назначение, синтаксис и реальные варианты использования с понятными примерами.
Видео: Python Lambda
Что такое lambda-функции в Python?
В Python анонимная функция определяется без имени. В то время как обычные функции используют ключевое слово def, анонимные функции объявляются с помощью lambda. Следовательно, их часто называют lambda-функциями.
Как использовать lambda-функции в Python?
Lambda-функции следуют лаконичному синтаксису:
Синтаксис lambda-функции в Python
lambda arguments: expression
Они могут принимать любое количество аргументов, но только одно выражение. Выражение вычисляется, и его результат возвращается. Поскольку они возвращают объект функции, лямбды могут использоваться везде, где требуется функция.
Пример lambda-функции в Python
Ниже приведена простая лямбда, удваивающая свой вход:
# Демонстрация базовой lambda-функции
double = lambda x: x * 2
print(double(5))
Вывод
10
Здесь lambda x: x * 2 создает безымянную функцию. Аргумент x передается в выражение x * 2, которое вычисляется и возвращается. Полученный объект функции присваивается переменной double, позволяя вызывать её как обычную функцию. Следующий эквивалент def иллюстрирует ту же логику:
def double(x):
return x * 2
Когда использовать lambda-функции в Python
Lambda-функции блестят, когда вам нужна быстрая, одноразовая функция, особенно как аргумент функций высшего порядка. Они часто сочетаются со встроенными функциями, такими как filter() и map(), для выполнения лаконичных преобразований.
Пример с filter()
Функция filter() применяет предикат к каждому элементу итерируемого объекта, возвращая только те, которые удовлетворяют условию. Следующий пример оставляет только четные числа из списка:
# Фильтрация четных чисел из списка
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = list(filter(lambda x: (x % 2 == 0), my_list))
print(new_list)
Вывод
[4, 6, 8, 12]
Пример с map()
Функция map() применяет преобразование к каждому элементу, создавая новый итерируемый объект. Здесь мы удваиваем каждый элемент в списке:
# Удвоение каждого элемента с помощью map()
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = list(map(lambda x: x * 2, my_list))
print(new_list)
Вывод
[2, 10, 8, 12, 16, 22, 6, 24]
Python
- Освоение типов данных в Python: практическое руководство
- Мастерство операторов Python: Полное руководство
- Оператор pass в Python: практическое руководство
- Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
- Освоение лямбда-функций Python: практические примеры и лучшие практики
- Функция abs() в Python: вычисление абсолютных значений для чисел и комплексных чисел
- Функция round() в Python: подробное объяснение с практическими примерами
- Освоение функции range() в Python: от основ к продвинутым сценариям
- Освоение функции map() в Python: синтаксис, примеры и лучшие практики
- Освоение yield в Python: генератор против return — практическое руководство