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