Статья

Python: методы списков

5 сентября 2026~8 минут10–11 класс

Если «Python: методы списков» вызывает ступор — это нормально: тема собрана из простых идей. Покажем их по порядку: теория, пример, разбор задания и типичные ошибки.

Что такое методы списков в Python

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

Метод записывается через точку после имени списка: имя_списка.метод(). Скобки обязательны, даже если методу не нужно передавать дополнительные данные. Например, numbers.append(7) добавит число 7 в конец списка. Важно отличать метод от функции: функция len(numbers) получает длину списка, а метод работает с самим объектом.

Большинство методов изменяют исходный список. Поэтому после команды не всегда нужно присваивание. Если хочется потренироваться без установки Python, можно открыть бесплатную практику в личном кабинете и сразу проверить несколько коротких примеров.

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

Для добавления одного элемента используется append(). Он помещает значение в конец списка. Если нужно вставить элемент на определённое место, применяют insert(индекс, значение). Индексация начинается с нуля: позиция 0 — первый элемент, позиция 1 — второй.

Метод extend() добавляет в список элементы другого итерируемого объекта, например второго списка. Это не то же самое, что append(): первый метод добавит значения по одному, а второй поместит весь второй список как один вложенный элемент.

\( a = [2, 4] \)
a.append(6) → [2, 4, 6]
a.insert(1, 3) → [2, 3, 4, 6]
a.extend([8, 10]) → [2, 3, 4, 6, 8, 10]

Если задача просит объединить наборы данных, сначала уточни, нужен ли вложенный список. Такое различие часто проверяют в заданиях ОГЭ и ЕГЭ. Подборку похожих форматов можно посмотреть в разделе подготовки к ОГЭ.

Совет репетитора

Перед запуском кода проговори словами, что должно произойти со списком. Если команда добавляет одно значение, выбирай append(), а если переносит несколько значений, сравни задачу с extend().

Удаление и поиск

Метод remove(значение) удаляет первое найденное вхождение. Если значения нет, Python выдаст ошибку. Метод pop() удаляет элемент по индексу и одновременно возвращает его. Без аргумента удаляется последний элемент, а pop(0) убирает первый.

Команда clear() полностью очищает список. Для поиска позиции элемента используется index(значение), а для подсчёта повторений — count(значение). Оба метода работают с конкретным значением, а не с индексом.

МетодРезультатЧто учесть
remove(x)Удаляет первое xОшибка, если x отсутствует
pop(i)Удаляет и возвращает элементИндекс должен существовать
index(x)Возвращает индекс первого xОшибка, если x отсутствует
count(x)Считает вхождения xВозвращает число

Безопаснее сначала проверить наличие: if 5 in numbers:. Это похоже на проверку условия в математике: действие выполняется только при истинном утверждении, например когда число ≥ 0.

Сортировка и изменение порядка

Метод sort() сортирует исходный список. По умолчанию числа идут от меньшего к большему, а строки — в соответствии с порядком символов. Для обратного порядка передают аргумент reverse=True. Можно также указать key, если сортировать нужно по длине строки или другому признаку.

Метод reverse() просто разворачивает текущий порядок элементов. Он не сортирует значения. Список [3, 1, 2] после reverse() станет [2, 1, 3], а не [3, 2, 1]. Это важное различие.

\( scores = [7, 3, 10, 6] \)
scores.sort() → [3, 6, 7, 10]
scores.reverse() → [10, 7, 6, 3]

Оба метода изменяют исходный список и возвращают None. Поэтому запись new_scores = scores.sort() приведёт к тому, что new_scores будет равно None. Если нужен новый отсортированный список, используют встроенную функцию sorted(scores). На практике полезно закрепить это различие в личном кабинете с бесплатными заданиями.

Ловушка

Не путай sort() и sorted(). Первый метод меняет список на месте и ничего полезного не возвращает, а sorted() создаёт новый результат. Всегда смотри, где хранится итог.

Разобранный пример и типичные ошибки

Разберём задачу: дан список результатов, нужно удалить повторяющийся результат 4, добавить 9, отсортировать значения по возрастанию и узнать позицию числа 9.

\( results = [6, 4, 8, 4] \)
results.remove(4) → [6, 8, 4]
results.append(9) → [6, 8, 4, 9]
results.sort() → [4, 6, 8, 9]
\( position = results.index(9) \to 3 \)

Сначала remove() удаляет только первое вхождение 4, поэтому второе остаётся. Затем append() ставит 9 в конец. После sort() значения упорядочиваются, и индекс числа 9 становится равен 3, потому что отсчёт начинается с нуля. Если бы требовалась четвёртая позиция для человека, пришлось бы вывести position + 1.

Типичные ошибки: забыть скобки, перепутать индекс и значение, вызвать index() до проверки наличия элемента, ожидать от reverse() сортировки и присвоить результат sort(). В задачах с удалением нескольких одинаковых значений одного remove() недостаточно: его нужно повторять в цикле или использовать другой алгоритм.

Что запомнить

Главные методы списков образуют удобную карту действий. append() добавляет один элемент в конец, extend() — несколько, insert() вставляет по индексу. remove(), pop() и clear() удаляют данные, но делают это по-разному. index() ищет позицию, count() считает повторы, sort() сортирует, а reverse() разворачивает порядок.

Запомни два правила: индекс начинается с нуля, а изменяющие методы обычно работают с исходным списком. Если команда может завершиться ошибкой, заранее проверь условие через in. Небольшая практика полезнее механического заучивания: зарегистрируйся и реши 5 заданий бесплатно в личном кабинете, каждый раз объясняя действие метода своими словами.

список.метод() → изменённый список или отдельный результат
индекс первого элемента = 0
sort() меняет список, sorted() создаёт новый

Чем append() отличается от extend()?

append() добавляет один объект целиком. Если передать ему список, получится вложенный список. extend() перебирает переданный объект и добавляет его элементы по одному.

Можно ли удалить элемент по индексу?

Да, используй pop(индекс). Метод удалит элемент и вернёт его значение. Если значение не нужно, можно применить оператор del.

Почему после sort() получается None?

sort() изменяет исходный список на месте и не возвращает новый список. Поэтому результат метода не нужно сохранять в переменную. Для нового списка используй sorted().

Как закрепить тему после разбора?

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

Не оставляйте тему «прочитанной»

Понимание — половина дела. Вторая — практика с обратной связью: личный кабинет Просто Урок покажет, где вы ошибаетесь, и подтянет слабые места.

Важно. Материалы сайта носят информационно-образовательный характер и не являются публичной офертой (ст. 437 ГК РФ), индивидуальной консультацией или руководством к действию. Мы аккуратно работаем с фактами, но не гарантируем полную точность и актуальность: структура и правила экзаменов могут меняться — сверяйтесь с официальными источниками (ФИПИ, действующие кодификаторы и нормативные акты РФ). Администрация сайта не несёт ответственности за возможные неточности и за решения, принятые на основе материалов. Заметили неточность — напишите нам, мы исправим.