Словарь и множество (dict, set)

Список и кортеж Немного копнем поглубже словари и сеты -как работают под капотом, почему такие быстрые при поиске, какие могут быть грабли и каверзные вопросы на собеседовании. 1) dict - словарь, отображение, хеш-мап, ассоциативный массив, коллекция пар ключ-значение, где ключом может быть только hashable тип, доступ по ключу и проверка наличия ключа O(1), с питона 3.7 хранит порядок вставки 2) пустой словарь создавать лучше через {},а не dict(), под капотом сразу будет создано 8 элементов 3) set - множество, хешсет, неупорядоченный набор hashable объектов, доступ и проверка наличия O(1) 4) frozenset - неизменяемый брат множества 5) Hashable != Immutable, эти понятия часто путают, помните что это не одно и то же. 6) алгоритм работы словаря и сета: Получаем хеш -} высчитываем позицию в массиве -} если элемента нет то действуем соответственно задаче -} если элемент есть то сравниваем ключ == тому что ищем -} если ключ не равен искомому то ищем д
Back to Top