💻 Примеры

⚡ Кратко: примеры

Функцию передают без скобок: square, а не square().

Lambda - короткая анонимная функция из одного выражения.

Функции высшего порядка принимают или возвращают другие функции.

map() преобразует элементы, filter() отбирает элементы, reduce() сводит коллекцию к одному значению.

any() возвращает True при хотя бы одном истинном элементе.

all() возвращает True, если все элементы истинны; для пустой коллекции это True.

sorted(), min() и max() принимают key-функцию для критерия сравнения.

Сложную lambda лучше заменить именованной функцией def.

Топ-3 ошибки: передать результат функции вместо ссылки; забыть list() вокруг map/filter; писать слишком сложную lambda вместо понятной функции.

Словарь операций

Функции хранятся в словаре и выбираются по строковому ключу.

def add(x, y):
    return x + y

def multiply(x, y):
    return x * y

operations = {"+": add, "*": multiply}
print(operations["+"](10, 5))
print(operations["*"](10, 5))

map и filter

map меняет форму данных, filter оставляет только нужные элементы.

numbers = [5, 3, 4, 1, 5, 2]
squares = list(map(lambda x: x ** 2, numbers))
odd_numbers = list(filter(lambda x: x % 2 == 1, numbers))
print(squares)
print(odd_numbers)

Сортировка с key

key возвращает значение, по которому Python сравнивает элементы.

people = [("Alice", 25), ("Bob", 20), ("Charlie", 23)]
print(sorted(people, key=lambda person: person[1]))
print(max(people, key=lambda person: person[1]))