Python для новичковКоллекцииСловарь: создание и базовые операции

Словарь: создание и базовые операции

Уроки курсаСловарь: создание и базовые операции

Удаление пар методом dict.pop() и полный цикл операций

Последняя базовая операция со словарём — удаление пары по ключу. Для этого есть метод pop().

dict.pop(key)

Метод удаляет пару с указанным ключом и возвращает удалённое значение:

person = {'name': 'Анна', 'age': 26, 'city': 'Москва'}

udалённый_город = person.pop('city')
print(удалённый_город)  # Москва
print(person)           # {'name': 'Анна', 'age': 26}

Возвращаемое значение — не мелочь: оно позволяет одновременно удалить ключ и сохранить его содержимое в переменную, если оно ещё нужно.

Если попытаться удалить ключ, которого нет, pop() выбросит KeyError — поведение такое же, как у d[key]. Чтобы этого избежать, методу можно передать второй аргумент — значение по умолчанию:

result = person.pop('phone', None)
print(result)  # None  — ключа нет, но ошибки тоже нет

С default-аргументом pop() работает безопасно: если ключ есть — удаляет и возвращает значение, если нет — возвращает default и ничего не трогает.

Сквозной пример: все четыре операции

Посмотрим, как создание, чтение, изменение и удаление работают вместе на одном словаре:

# 1. Создание
person = {'name': 'Анна', 'age': 25}

# 2. Чтение
print(person['name'])              # Анна
print(person.get('phone', 'нет')) # нет

# 3. Изменение существующего ключа и добавление нового
person['age'] = 26
person['city'] = 'Москва'
print(person)  # {'name': 'Анна', 'age': 26, 'city': 'Москва'}

# 4. Удаление
udалённый = person.pop('city')
print(удалённый)  # Москва
print(person)     # {'name': 'Анна', 'age': 26}

Здесь видно, что все операции используют один и тот же объект person и не конфликтуют между собой. Создание через литерал {}, доступ через [] или get(), запись через d[key] = value, удаление через pop() — это полный рабочий набор для большинства задач со словарём.

В следующем уроке словарь перестанет быть статичным объектом: научимся перебирать все его пары через items(), keys() и values(), а значения смогут быть не только строками и числами, но и вложенными списками.