Лямбда-функции, также известные как анонимные функции, — это удобный способ создания небольших одноразовых функций в Python. Обычно он используется, когда вам нужна простая функция на короткий период времени и вы не хотите определять полную функцию с помощью ключевого слова def
. Они определяются с помощью ключевого слова lambda
и имеют следующий синтаксис:
lambda arguments: expression
Вот пример простой лямбда-функции, которая складывает два числа:
add = lambda x, y: x + y
Эта лямбда-функция принимает два аргумента, x
и y
, и возвращает их сумму. Мы можем вызвать эту функцию так же, как и любую другую, используя круглые скобки и передавая аргументы:
result = add(3, 4) print(result) # 7
Одним из основных преимуществ лямбда-функций является то, что они лаконичны и просты в написании. Их можно использовать везде, где ожидается функция, например, при включении списка или в качестве ключа в функции sorted()
.
Вот несколько примеров практического использования лямбда-функций:
Сортировка списка кортежей:
Вы можете использовать лямбда-функцию в качестве параметра key
в функции sorted()
, чтобы указать критерии сортировки. Например, чтобы отсортировать список кортежей по второму элементу каждого кортежа, вы можете использовать следующий код:
my_list = [(1, 'b'), (3, 'a'), (2, 'c')] sorted_list = sorted(my_list, key=lambda x: x[1]) print(sorted_list) # [(3, 'a'), (1, 'b'), (2, 'c')]
Фильтрация списка:
Вы можете использовать лямбда-функцию в сочетании с функцией filter()
для фильтрации списка на основе определенного условия. Например, чтобы получить список всех четных чисел в списке, вы можете использовать следующий код:
my_list = [1, 2, 3, 4, 5, 6] even_numbers = list(filter(lambda x: x % 2 == 0, my_list)) print(even_numbers) # [2, 4, 6]
Сопоставление функции со списком:
Вы можете использовать лямбда-функцию в сочетании с функцией map()
, чтобы применить функцию к каждому элементу в списке. Например, чтобы удвоить значения в списке, вы можете использовать следующий код:
my_list = [1, 2, 3, 4, 5] doubled_list = list(map(lambda x: x * 2, my_list)) print(doubled_list) # [2, 4, 6, 8, 10]
Создание пользовательской функции:
Вы можете использовать лямбда-функцию, чтобы определить простую однострочную функцию, которую вам нужно использовать только в одном месте. Например, следующий код определяет функцию, которая возвращает квадрат числа:
square = lambda x: x ** 2 result = square(5) print(result) # 25
Лямбда-функции — полезный инструмент для написания кратких одноразовых функций на Python. Их можно использовать в различных ситуациях, когда необходима функция, и они могут сделать ваш код более читабельным и выразительным.