Alterna · учебный материал

Словари

40.2: Словари. Короткая теория, один пример и пошаговая трасса Python.

Что в этом материале

Содержание и основные понятия

Словарь хранит пары ключ → значение. Частотный словарь превращает каждый объект в ключ, а число появлений — в значение.
суть и практика
11 класс
ЕГЭ №24
01
Как это устроено
Словарь связывает уникальный ключ со значением. Частотный словарь хранит объект как ключ, а число его появлений — как значение.
Ключ.
Хешируемое уникальное значение, например строка или число.
Значение.
Данные, связанные с ключом; могут быть любого типа.
Частота.
get(key, 0) позволяет начать счётчик с нуля.
Ничья.
Если несколько ключей равны по частоте, правило выбора нужно задать явно.
02
Один пример в исполнении
Запусти короткую программу и переходи по строкам. Визуализатор показывает только код, текущую строку, переменные и вывод.
Обращение
data[key]
требует существующего ключа и иначе даёт
KeyError
.
get
возвращает запасное значение без изменения словаря. Для обхода пар используй
items()
;
keys()
и
values()
возвращают представления, а не списки. Не меняй размер словаря во время обхода его
items()
.
Карта алгоритма
Читай слева направо, затем запускай код.
1
Начало
2
Взять ключ
3
Получить частоту get(key, 0)
4
Увеличить значение
5
Использовать словарь
03
Запомнить
Определи правило ничьей до вызова max/min.
Не используй d[key] для первого увеличения частоты без get или проверки in.
Ключи должны быть хешируемыми; список ключом быть не может.
Синтаксис этой страницы
{} / dict()
Создают пустой словарь.
d[key]
Читает или записывает значение по ключу; чтение отсутствующего ключа даёт KeyError.
d.get(key, default)
Возвращает значение либо default без добавления ключа.
d.items()
Перебирает пары (ключ, значение).
d.keys() / d.values()
Возвращают представления ключей или значений.
d.pop(key, default)
Удаляет ключ и возвращает значение; default предотвращает KeyError.
setdefault(key, default)
Возвращает значение ключа, добавляя default при отсутствии.
zip(a, b)
Собирает пары элементов двух последовательностей.
min(iterable, key=...)
Выбирает элемент с минимальным ключом; lambda здесь задаёт tie-break.
lambda ch: ...
Короткая функция для ключа выбора.
strip / input / print
Читают текст, нормализуют края и выводят результат.

Структурная карта учебников