Списки изменяемы
Список — изменяемая коллекция, поэтому методы добавления, удаления, сортировки и разворота работают с тем же объектом. Это удобно для пошаговой обработки данных, но требует внимания: после вызова метода список уже изменился.
Добавление элементов
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.