Словарь: создание и базовые операции
Содержание курса
Удаление пар методом 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(), а значения смогут быть не только строками и числами, но и вложенными списками.
Закрепите тему на задачах
Проверьте существующий и отсутствующий ключ. Выберите осмысленно между прямым доступом, get и проверкой in: запасное значение не должно скрыть ошибку данных.
Словарь Python: создать и обновить карточку товара
Откройте условие и решите задачу перед чтением следующей темы. В задачах на код проверяется программа, в тестовых заданиях — выбранный ответ. Для последовательного обучения вернитесь в программу бесплатного курса.
