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

См. также

Примечание

Лицензия и источники

Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.