← Вернуться к карте тем
Alterna · глава 39 · страница 39.2

Словари

Словарь хранит пары ключ → значение. Частотный словарь превращает каждый объект в ключ, а число появлений — в значение.

Словарь хранит пары ключ → значение. Частотный словарь превращает каждый объект в ключ, а число появлений — в значение.

суть и практика11 классЕГЭ №24
01

Как это устроено

Словарь связывает уникальный ключ со значением. Частотный словарь хранит объект как ключ, а число его появлений — как значение.

Ключ. Хешируемое уникальное значение, например строка или число.

Значение. Данные, связанные с ключом; могут быть любого типа.

Частота. get(key, 0) позволяет начать счётчик с нуля.

Ничья. Если несколько ключей равны по частоте, правило выбора нужно задать явно.

02

Один пример в исполнении

Запусти короткую программу и переходи по строкам. Визуализатор показывает только код, текущую строку, переменные и вывод.

Обращение data[key] требует существующего ключа и иначе даёт KeyError. get возвращает запасное значение без изменения словаря. Для обхода пар используй items(); keys() и values() возвращают представления, а не списки. Не меняй размер словаря во время обхода его items().

Карта алгоритмаЧитай слева направо, затем запускай код.
  1. 1Начало
  2. 2Взять ключ
  3. 3Получить частоту get(key, 0)
  4. 4Увеличить значение
  5. 5Использовать словарь
03

Запомнить

Синтаксис этой страницы
{} / 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

Читают текст, нормализуют края и выводят результат.