list.pop()
Метод pop() удаляет элемент по указанному индексу и возвращает его значение. Если индекс не задан, удаляется и возвращается последний элемент. Это базовая операция для реализации стека (LIFO) — она работает за константное время при i = -1 или i = len(lst) - 1.
Сигнатура
list.pop(i=-1)
Параметры
i— индекс удаляемого элемента. По умолчанию-1(последний). Поддерживаются отрицательные индексы.
Возвращаемое значение
Удалённый элемент. Если список пуст или индекс выходит за границы — выбрасывается IndexError.
Примеры использования
Пример 1. Удаление последнего элемента.
stack = [10, 20, 30, 40]
last = stack.pop()
print("Извлечено:", last)
print("Осталось:", stack)
Извлечено: 40
Осталось: [10, 20, 30]
Пример 2. Удаление по индексу.
items = ["A", "B", "C", "D"]
middle = items.pop(1)
print(middle)
print(items)
B
['A', 'C', 'D']
Пример 3. Стек (LIFO) на основе списка.
stack = []
stack.append("команда1")
stack.append("команда2")
stack.append("команда3")
while stack:
print("Выполняется:", stack.pop())
Выполняется: команда3
Выполняется: команда2
Выполняется: команда1
Пример 4. Очередь — лучше через deque.
pop(0) работает, но за O(n). Для очереди (FIFO) используйте collections.deque:
from collections import deque
queue = deque(["задача1", "задача2", "задача3"])
while queue:
print("Обработана:", queue.popleft())
Обработана: задача1
Обработана: задача2
Обработана: задача3
Пример 5. IndexError при пустом списке.
data = []
try:
data.pop()
except IndexError as e:
print("Ошибка:", e)
Ошибка: pop from empty list
См. также
list.remove() — удаление по значению
list.clear() — удаление всех элементов
list.append() — добавление в конец
Примечание
Лицензия и источники
Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.