Статья подготовлена для студентов курса «Разработчик Python» в образовательном проекте OTUS. Словарь в Python является фундаментальным типом хотя бы потому, что используется для хранения атрибутов объектов любого класса. Внутри словарь реализован как хеш-таблица с открытой адресацией, где коллизии разрешаются методом квадратичного пробинга, таблица расширяется при заполнении более чем на ⅔. Вообще, словари достаточно хорошо описаны и стоят того, чтобы взглянуть на их исходники (искать в Objects/dictobject...
Словарь -- структура, которая позволяет хранить данные в формате ключ-значение. Словари удобны для того, чтобы передавать информацию внутри программы, они быстрые, легко конвертируются в формат JSON, который используется в http запросах, и поэтому являются одним из главных инструментов разработчика. Я знаю пять (!) способов создать словарь в Python. С помощью литералов словаря: fish = { "move": "water", "eat": "insects", "say": None } Используя конструктор явно: snail = dict( eat=”leaves”, ...