Освоение искусства анонимных функций в Python
Лямбда-функция Python — это небольшая анонимная функция, которая может принимать любое количество аргументов, но может иметь только одно выражение. Синтаксис лямбда-функции:
lambda arguments: expression
Например, следующая лямбда-функция принимает два аргумента (x и y) и возвращает их сумму: lambda x, y: x + y
Вы можете присвоить лямбда-функцию переменной, а затем использовать эту переменную как функцию:
add = lambda x, y: x + y result = add(2, 3) print(result) # prints 5
Лямбда-функции часто используются в сочетании с функциями более высокого порядка, такими как filter(), map() и reduce(). Например, вы можете использовать функцию filter() для фильтрации списка чисел и возврата только четных чисел:
numbers = [1, 2, 3, 4, 5, 6] evens = filter(lambda x: x % 2 == 0, numbers) print(list(evens)) # prints [2, 4, 6]
Вы также можете использовать лямбда-функции внутри других функций, таких как метод sort() для сортировки списка объектов на основе определенного атрибута:
class Person: def __init__(self, name, age): self.name = name self.age = age people = [Person("Alice", 25), Person("Bob", 30), Person("Charlie", 35)] people.sort(key=lambda x: x.age) for person in people: print(person.name)
Он будет отображать имена людей, отсортированные по возрасту в порядке возрастания.
Имейте в виду, что лямбда-функции ограничены только одним выражением и должны использоваться только при определении небольших одноразовых функций. В общем, вы должны использовать обычные именованные функции для более сложной логики.