Словарь и множество (dict, set)
⭐️Список и кортеж • Список и кортеж Немного копнем поглубже словари и сеты -как работают под капотом, почему такие быстрые при поиске, какие могут быть грабли и каверзные вопросы на собеседовании. 1) dict - словарь, отображение, хеш-мап, ассоциативный массив, коллекция пар ключ-значение, где ключом может быть только hashable тип, доступ по ключу и проверка наличия ключа O(1), с питона 3.7 хранит порядок вставки 2) пустой словарь создавать лучше через {},а не dict(), под капотом сразу будет создано 8 элементов 3) set - множество, хешсет, неупорядоченный набор hashable объектов, доступ и проверка наличия O(1) 4) frozenset - неизменяемый брат множества 5) Hashable != Immutable, эти понятия часто путают, помните что это не одно и то же. 6) алгоритм работы словаря и сета: Получаем хеш -} высчитываем позицию в массиве -} если элемента нет то действуем соответственно задаче -} если элемент есть то сравниваем ключ == тому что ищем -} если ключ не равен искомому то ищем дополнительный бакет 7) По умолчанию самописные классы возвращают хеш основанный на id, если переопределяете хеш, то всегда проверяйте, что у равных объектов одинаковый хеш 8) Проверка на содержание тоже вызывает ошибку, если элемент не хешируем. Тапл можно положить в сет только если все его элементы хешируемы, frozenset без проблем кладется в сет. Словари и сеты нельзя положить в словари(как ключ) и сеты. 9) За скорость словаря и сета мы платим большей памятью и тем, что положить туда можно не любые элементы Читать: "High Performance Python" by Micha Gorelick and Ian Ozsvald "Fluent Python" by Luciano Ramalho https://docs.python.org/3/glossary.ht... https://docs.python.org/3/library/fun... https://docs.python.org/3/glossary.ht... Присоединяйтесь к помощи каналу, будет интересно) ✔️Бусти https://boosty.to/python_russian/donate ✔️Юмани 410011506612886 Будь первым везде и всегда, включай уведомления о новых выпусках 🔔 Смотри там где удобно🤩 ✔️ https://vk.com/python_russian ✔️ https://rutube.ru/channel/24346352/ ✔️ https://dzen.ru/python_russian ✔️ / pythonrussian ✔️ https://t.me/python_russian #Python #PythonRussian #PyCharm

Что за звери *args и **kwargs

Хеш-таблица | Структуры данных и алгоритмы | Изучение алгоритмов

32 Словари (dict) Python. Операции и методы словаря.

Concurrency and parallelism

Первый декоратор, разбираемся с написанием

Доступ к свойствам объекта. Property и slots

Основное оружие питониста: Listcomps и Genexp

Как устроены хэш таблицы и словари на примере Python (hash table / dict)

Первые шаги в ООП: класс, объект, self

Komandat e Linuxit dhe Hyrje në Bash: Mësimi 21

GPT-4: Чему научилась новая нейросеть

Уроки Python с нуля / #7 – Списки (list). Функции и их методы

УДАРЫ СО ВСЕХ СТОРОН/ НЕФТЬ РУХНУЛА/ ИНФЛЯЦИЯ ВЗОРВАЛАСЬ/ ЭЛЯ ПРОТИВ ПУТИНА/ ГРЕФ БУНТУЕТ. Милов

Список и кортеж

Магические методы в python. Dunder методы

Принц Персии: разбираем код гениальной игры, вытирая слезы счастья
![How Dictionaries Work in Python | Hash Tables [Any]](https://i.ytimg.com/vi/6XS-wzpWs7E/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDGKhEc6KATduwy_gOx9rk4CKW65w)
How Dictionaries Work in Python | Hash Tables [Any]

Правила хорошей функции в Python

The World's Most Important Machine

