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}
См. также
dict.pop() — удалить по ключу
dict.clear() — очистить словарь
dict.items() — все пары словаря
Примечание
Лицензия и источники
Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.