dict.pop()

Метод pop() удаляет из словаря пару с заданным ключом и возвращает её значение. Если ключа нет — возвращает default (если задан), иначе возбуждает KeyError. Удобен, когда нужно одновременно достать значение и удалить его из словаря.

Сигнатура

dict.pop(key[, default])

Параметры

  • key — ключ, который нужно удалить.

  • default — необязательное значение, возвращаемое, если key не найден. Без него отсутствие ключа приводит к KeyError.

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

Значение, связанное с удалённым ключом. Если ключа нет и задан default — возвращается default.

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

Пример 1. Удаление существующего ключа.

sensors = {"temp": 24.5, "humidity": 60, "pressure": 1013}
value = sensors.pop("humidity")
print("Удалили:", value)
print("Осталось:", sensors)
Удалили: 60
Осталось: {'temp': 24.5, 'pressure': 1013}

Пример 2. Ключ отсутствует — без default.

d = {"a": 1}
try:
    d.pop("b")
except KeyError as e:
    print("Ключ не найден:", e)
Ключ не найден: 'b'

Пример 3. Ключ отсутствует — с default.

d = {"a": 1}
value = d.pop("b", "нет данных")
print(value)
нет данных

Пример 4. Перенос значения в другую переменную.

config = {"baud": 9600, "pin": 13, "mode": "input"}
pin = config.pop("pin")
print("Пин:", pin)
print("Конфиг без пина:", config)
Пин: 13
Конфиг без пина: {'baud': 9600, 'mode': 'input'}

Пример 5. Очистка временных ключей.

data = {"x": 1, "y": 2, "_tmp": 99, "_debug": True}
for key in ["_tmp", "_debug", "_missing"]:
    data.pop(key, None)
print(data)
{'x': 1, 'y': 2}

См. также

  • dict.popitem() — удалить последнюю пару

  • dict.clear() — очистить весь словарь

  • dict.get() — получить значение, не удаляя

Примечание

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

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