Как работают словари в Python | Хэш-таблицы [Any]

  Рет қаралды 832

Павлин Шарит - ИТ вместе с Николаем Павлиным

Павлин Шарит - ИТ вместе с Николаем Павлиным

Күн бұрын

👉 Telegram: t.me/pavlin_share
gist - gist.github.com/Afaneor/ac293...
🎥 Чтобы не пропустить ничего важного и всегда быть в курсе, подписывайтесь на мой канал и активируйте уведомления! 🔔
В этом видео мы глубоко погружаемся в одну из ключевых структур данных в Python - хэш-таблицы, на примере реализации словарей (dict). Вы узнаете, как устроены словари в Python, как функционирует хэш-функция, как Python обрабатывает коллизии хэшей и управляет памятью. Мы рассмотрим исходный код CPython, чтобы показать, как на самом деле работают эти механизмы. Это видео будет полезно как начинающим, так и опытным разработчикам, стремящимся улучшить свои навыки в оптимизации и понимании внутренней работы Python.
0:00 Что будем изучать?
1:15 Что такое хэш-таблица?
2:20 Абстрактный пример
5:10 Знакомство с коллизией
5:50 Пишем на питоне реализацию
17:00 Запускаем наш пример
18:00 Воспроизводим коллизию
20:40 Бенчмарк

Пікірлер: 11
@vor6758
@vor6758 8 күн бұрын
Добавить хочу от себя 1) Лучше бы в __init__ давать возможность пользователю сразу добавлять пары коюч-значение 2) Сделать приватными атрибуты map и size - не хочется пользователю давать к ним прямой доступ (через property или __getattribute__) 3) Неплохо было бы добавить методы keys, values, items А так все на высшем уровне!!❤
@vor6758
@vor6758 8 күн бұрын
Кстати, в методе _resize у old_map в цикле нет смысла проверять на "is None", потому что этот метод вызывается только в том случае, когда у old_map уже некуда вставить значения))
@Fosdark
@Fosdark Ай бұрын
Спасибо за ваш труд!
@ctsrazor
@ctsrazor Ай бұрын
Душно конечно, но информация полезная!)
@MioGesa-md2ul
@MioGesa-md2ul Ай бұрын
Спасибо вам🎉
@Oleg_Zhigulin
@Oleg_Zhigulin Ай бұрын
Привет Спасибо за обьяснение пробинга Метод удаления почему там сравнивается 0 элемент с ключем?
@nikolaypavlin
@nikolaypavlin Ай бұрын
Косяк, я в конце добавил сохранение еще и хэша (индекса элемента), и вот где-то мог забыть скорректировать, а тестов не написал на все методы Сравнивать надо ключи, корректное замечание
@belevich_andrei
@belevich_andrei Ай бұрын
А если такая ситуация с коллизиями все таки происходит, например на очень больших данных, то как тогда работают с такими данными?
@nikolaypavlin
@nikolaypavlin Ай бұрын
Честно скажу, я с такой проблемой не сталкивался на практике, поэтому не могу придумать пример сходу, в целом надо от задачи идти, может быть тебе не нужен словарь в таком случае
@andynaz7044
@andynaz7044 Ай бұрын
Подключить русский орфограф.словарь религия не позволяет?
@nikolaypavlin
@nikolaypavlin Ай бұрын
Ограничений таких не знаю не в одной религии По умолчанию не включен, надо будет озадачиться
Используй эти структуры данных из модуля collections [Upper Junior]
11:43
Павлин Шарит - ИТ вместе с Николаем Павлиным
Рет қаралды 499
Разберись с SOLID на Python примерах [Upper Junior]
27:17
Павлин Шарит - ИТ вместе с Николаем Павлиным
Рет қаралды 1,6 М.
1 класс vs 11 класс  (игрушка)
00:30
БЕРТ
Рет қаралды 1,4 МЛН
I Need Your Help..
00:33
Stokes Twins
Рет қаралды 158 МЛН
Countries Treat the Heart of Palestine #countryballs
00:13
CountryZ
Рет қаралды 10 МЛН
Docker полный курс от А до Я | От новичка до мидла с примерами на Python [Junior]
2:18:18
Павлин Шарит - ИТ вместе с Николаем Павлиным
Рет қаралды 19 М.
Хэш-таблицы за 10 минут
13:01
Николай Тузов — Golang
Рет қаралды 120 М.
Как работать с классами в Python и для чего они нужны
22:04
Senior Tester | Евгений Окулик
Рет қаралды 7 М.
Frontend на python с FastUI | Интеграция с FastAPI [Middle]
18:16
Павлин Шарит - ИТ вместе с Николаем Павлиным
Рет қаралды 2 М.
Разрабатываем ИТ продукт с нуля | Бизнес модель и требования [Any]
12:32
Павлин Шарит - ИТ вместе с Николаем Павлиным
Рет қаралды 535
Зачем нужны select_related и prefetch_related [Upper Junior]
17:05
Павлин Шарит - ИТ вместе с Николаем Павлиным
Рет қаралды 247
iPhone 12 socket cleaning #fixit
0:30
Tamar DB (mt)
Рет қаралды 21 МЛН
Carregando telefone com carregador cortado
1:01
Andcarli
Рет қаралды 2,3 МЛН
Will the battery emit smoke if it rotates rapidly?
0:11
Meaningful Cartoons 183
Рет қаралды 4,6 МЛН
Нашел айфоны в мусорке!
0:32
По ту сторону Гугла
Рет қаралды 287 М.
С ноутбуком придется попрощаться
0:18
Up Your Brains
Рет қаралды 328 М.