Теория
Словарь связывает ключ и значение
Словарь хранит пары: по уникальному ключу можно получить связанное значение. Ключ описывает, что мы ищем, а значение содержит данные — например, имя ученика и его балл.
Присваивание по существующему ключу обновляет значение. Присваивание по новому ключу добавляет новую пару.
scores = {"Ира": 4, "Олег": 5}scores["Ира"] += 1scores["Лена"] = 4print(scores["Ира"])Как проходит обращение по ключу
Выражение со скобками требует существования ключа. Если ключ может отсутствовать, сначала используют проверку in или метод get со значением по умолчанию.
Оператор in для словаря проверяет именно ключи. Чтобы работать со всеми значениями, используют values, а для пар — items.
- Метод get со значением 0 возвращает ноль для отсутствующего ключа.
- К этому числу прибавляется единица.
- Результат записывается по ключу; при следующей встрече чтение начнётся уже с сохранённого количества.
Список словарей хранит несколько похожих записей
Один словарь удобно читать как одну запись с именованными полями. Несколько дел можно хранить в списке словарей: у каждого есть id, текст и отметка выполнения. Список сохраняет порядок, а ключи объясняют смысл каждого значения.
tasks = [ {"id": 1, "title": "Повторить циклы", "done": False}, {"id": 2, "title": "Решить задачу", "done": True},] for task in tasks: print(task["id"], task["title"])Метод items пригодится, когда нужны одновременно ключ и значение одного словаря. Но для прикладного кода чаще понятнее обращаться к известным полям по имени: task["title"] и task["done"].
Отсутствующий ключ — отдельный случай
Прямое обращение по неизвестному ключу вызывает KeyError. Это не означает, что словарь сломан: программа просто не описала, что делать при отсутствии данных.
Как проверять словарь
Назовите допустимые ключи, решите, может ли ключ отсутствовать, и только затем выбирайте прямое обращение или get. После обновления проверьте одну существующую и одну новую пару.
- Определите смысл ключа. Он должен однозначно находить нужную запись.
- Учтите отсутствие. Выберите проверку in или get, если ключ необязателен.
- Обновите значение. Используйте прежнее значение только после безопасного чтения.
- Проверьте пары. Сверьте ключи и связанные с ними результаты отдельно.
Практика
Получите значение по ключу
Обращение по ключу возвращает связанное с ним значение — 15.
Обновите значение
Словарь обновляет значение по существующему ключу: 5 + 2 = 7.
Проверьте наличие ключа
Ключ `math` существует, поэтому выражение возвращает `True`.
Используйте значение по умолчанию
Ключ не найден, поэтому метод не вызывает ошибку, а возвращает указанное значение 0.
Измените найденную запись
Второй словарь сохраняет `id` 2, а его изменяемое поле `done` становится `True`.
Итог
Теперь вы можете хранить пары ключ–значение, безопасно читать и обновлять словарь.
Составьте словарь частот для короткого списка слов и вручную предскажите значение по одному существующему и одному отсутствующему ключу.
Прогресс
0 / 5Вы ещё не решали задания