📖 Теория: методы списков

⚡ Кратко

Метод списка вызывается через точку: items.append(value). Если метод меняет список на месте, он обычно возвращает None. append() добавляет один объект, extend() добавляет элементы итерируемого объекта по одному, insert() вставляет объект по индексу. remove() удаляет первое совпадение по значению, pop() удаляет по индексу и возвращает удалённый элемент, clear() очищает список. sort() и reverse() меняют исходный список; sorted() и reversed() создают новый результат.

words = ["banana", "apple", "cherry"]
words.sort(key=len)
print(words)

Списки изменяемы

Список — изменяемая коллекция, поэтому методы добавления, удаления, сортировки и разворота работают с тем же объектом. Это удобно для пошаговой обработки данных, но требует внимания: после вызова метода список уже изменился.

Проверить по документации: современная практика Python часто предпочитает не менять входной список функции без явного предупреждения. Для учебных задач это нормально, а в рабочих функциях лучше документировать побочный эффект или возвращать новый список.

Добавление элементов

append(item) кладёт в конец ровно один объект. Если передать список, он станет вложенным списком. extend(iterable) перебирает переданную коллекцию и добавляет её элементы по отдельности. insert(index, item) вставляет один объект по индексу; элементы справа сдвигаются.

numbers = [1, 2, 3]
numbers.append([4, 5])
print(numbers)

numbers = [1, 2, 3]
numbers.extend([4, 5])
print(numbers)

Удаление элементов

remove(item) ищет первое равное значение и удаляет его. Если значения нет, будет ValueError. pop(index) удаляет элемент по индексу и возвращает его; без аргумента удаляется последний элемент. clear() удаляет все элементы, но сам объект списка остаётся.

queue = ["first", "second", "third"]
processed = queue.pop(0)
print(processed)
print(queue)

Поиск и подсчёт

index(item, start, stop) возвращает индекс первого вхождения в диапазоне. Если элемент не найден, возникает ValueError. count(item) возвращает количество вхождений и не падает, если элемента нет.

Сортировка и разворот

sort(key=None, reverse=False) сортирует список на месте. key — функция, которую Python применяет к каждому элементу для вычисления критерия сортировки. reverse=True меняет направление. reverse() разворачивает список на месте.

fruits = ["banana", "apple", "cherry", "blueberry"]
fruits.sort(key=len)
print(fruits)

sorted(iterable) возвращает новый список, а reversed(iterable) возвращает итератор обратного порядка. Чтобы увидеть элементы reversed(), его часто преобразуют через list() или ''.join().

min(), max(), sum()

min() и max() находят минимальный и максимальный элемент. Как и сортировка, они принимают key. sum() складывает числа из итерируемого объекта и может иметь начальное значение start.