Python - Полный Курс для Начинающих
Техническая реализация словарей (dict) в Python: как это работает под капотом
Словари (dict) — одна из самых оптимизированных структур данных в Python. Их скорость и гибкость достигаются за счет продуманной внутренней реализации на основе хеш-таблиц. В этой статье мы разберем, как устроены словари в CPython (стандартной реализации Python), как они хранят данные, обрабатывают коллизии и обеспечивают константное время доступа O(1) в среднем случае. Словарь в Python — это хеш-таблица, которая состоит из массива "ведер" (buckets). Каждое ведро хранит: - Хеш ключа (hash), - Ключ (key), - Значение (value)...
Как устроен словарь (dict) в Python
Если с объяснением того, что такое дикт и как его юзать у нас проблем не возникает, то вот ответить как они устроены в Python, а при правильном ответе получить следующий: “А как решаются коллизии?”, то уже ответить проблематичнее. Отвечаю сразу на первый вопрос - в Python’e ассоциативный массив реализован с помощью хеш-таблицы (для заметки, в C++ красно-чёрные деревья). В основе всего лежит хеш-функция. И вот многие говорят, что хорошая хеш-функция эта то, что дает более рандомный ответ, но разрабы путона так не считают и их хеша схожи, даже для разных строк. Этим свойством они пользуются для оптимизации, но об этом ниже...