dict.popitem()

Метод popitem() удаляет из словаря последнюю добавленную пару «ключ — значение» и возвращает её в виде кортежа (key, value). Поведение LIFO (последним пришёл — первым ушёл) гарантировано с Python 3.7. Если словарь пуст — возбуждается KeyError.

Сигнатура

dict.popitem()

Параметры

Метод не принимает параметров.

Возвращаемое значение

Кортеж (key, value) — пара, удалённая из словаря. На пустом словаре возбуждает KeyError.

Примеры использования

Пример 1. Удаление последней пары.

pins = {"LED": 13, "BTN": 2, "BUZZER": 8}
last = pins.popitem()
print("Удалили:", last)
print("Осталось:", pins)
Удалили: ('BUZZER', 8)
Осталось: {'LED': 13, 'BTN': 2}

Пример 2. Распаковка результата.

data = {"a": 1, "b": 2, "c": 3}
key, value = data.popitem()
print(f"{key} = {value}")
print(data)
c = 3
{'a': 1, 'b': 2}

Пример 3. Пустой словарь — KeyError.

d = {}
try:
    d.popitem()
except KeyError as e:
    print("Словарь пуст:", e)
Словарь пуст: 'popitem(): dictionary is empty'

Пример 4. Полное опустошение цикла while.

stack = {"task1": "off", "task2": "on", "task3": "pending"}
while stack:
    k, v = stack.popitem()
    print(f"Обрабатываю {k}: {v}")
print("Стек пуст:", stack)
Обрабатываю task3: pending
Обрабатываю task2: on
Обрабатываю task1: off
Стек пуст: {}

Пример 5. Сравнение с pop() — конкретный ключ против последнего.

d = {"x": 1, "y": 2, "z": 3}
print(d.pop("x"))       # удаляем по ключу → 1
print(d.popitem())      # удаляем последнюю → ('z', 3)
print(d)
1
('z', 3)
{'y': 2}

См. также

Примечание

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

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