Функции высшего порядка
| Функция | Назначение | Пример |
|---|---|---|
filter(fn, iterable) |
Оставить элементы, где fn(item) истинно |
list(filter(lambda x: x > 0, nums)) |
map(fn, iterable) |
Применить fn к каждому элементу |
list(map(str.upper, words)) |
reduce(fn, iterable, init) |
Свернуть коллекцию в одно значение | reduce(lambda a, b: a * b, nums, 1) |
sorted(iterable, key=fn) |
Вернуть новый отсортированный список | sorted(words, key=len) |
Лямбда-выражения
| Запись | Значение | Пример |
|---|---|---|
lambda x: x * 2 |
Функция с одним аргументом | list(map(lambda x: x * 2, [1, 2, 3])) |
lambda x, y: x + y |
Функция с двумя аргументами | reduce(lambda a, b: a + b, nums) |
lambda s: len(s) > 3 |
Предикат для строк | list(filter(lambda s: len(s) > 3, words)) |
Аннотации для практикума
| Запись | Назначение | Пример |
|---|---|---|
def f(n: int) -> bool: |
Параметр int, результат bool | def is_even(n: int) -> bool: |
list[int] |
Список целых чисел | def filter_evens(nums: list[int]) -> list[int]: |
dict[str, int] |
Словарь: ключи str, значения int | def task_times() -> dict[str, int]: |
Callable[[int], bool] |
Функция int → bool | from typing import Callable |
Callable[[str], bool] |
Функция str → bool | Predicate для строк |
Полезные строковые методы
| Метод / операция | Назначение | Пример |
|---|---|---|
s.upper() |
Верхний регистр | "hi".upper() -> "HI" |
s[::-1] |
Переворот строки | "abc"[::-1] -> "cba" |
s.istitle() |
Начинается ли с заглавной | "Hello".istitle() -> True |
ord(c) |
Код символа | ord("A") -> 65 |
chr(n) |
Символ по коду | chr(65) -> "A" |