Тёмный

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

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

👉 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 Бенчмарк

Наука

Опубликовано:

 

28 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 11   
@vor6758
@vor6758 29 дней назад
Добавить хочу от себя 1) Лучше бы в __init__ давать возможность пользователю сразу добавлять пары коюч-значение 2) Сделать приватными атрибуты map и size - не хочется пользователю давать к ним прямой доступ (через property или __getattribute__) 3) Неплохо было бы добавить методы keys, values, items А так все на высшем уровне!!❤
@Fosdark
@Fosdark Месяц назад
Спасибо за ваш труд!
@MioGesa-md2ul
@MioGesa-md2ul Месяц назад
Спасибо вам🎉
@ctsrazor
@ctsrazor Месяц назад
Душно конечно, но информация полезная!)
@vor6758
@vor6758 29 дней назад
Кстати, в методе _resize у old_map в цикле нет смысла проверять на "is None", потому что этот метод вызывается только в том случае, когда у old_map уже некуда вставить значения))
@Oleg_Zhigulin
@Oleg_Zhigulin Месяц назад
Привет Спасибо за обьяснение пробинга Метод удаления почему там сравнивается 0 элемент с ключем?
@nikolaypavlin
@nikolaypavlin Месяц назад
Косяк, я в конце добавил сохранение еще и хэша (индекса элемента), и вот где-то мог забыть скорректировать, а тестов не написал на все методы Сравнивать надо ключи, корректное замечание
@belevich_andrei
@belevich_andrei Месяц назад
А если такая ситуация с коллизиями все таки происходит, например на очень больших данных, то как тогда работают с такими данными?
@nikolaypavlin
@nikolaypavlin Месяц назад
Честно скажу, я с такой проблемой не сталкивался на практике, поэтому не могу придумать пример сходу, в целом надо от задачи идти, может быть тебе не нужен словарь в таком случае
@andynaz7044
@andynaz7044 Месяц назад
Подключить русский орфограф.словарь религия не позволяет?
@nikolaypavlin
@nikolaypavlin Месяц назад
Ограничений таких не знаю не в одной религии По умолчанию не включен, надо будет озадачиться
Далее
Barry Policeman And His Son Vs Prisoners
00:26
Просмотров 691 тыс.
Самоприкорм с сестрой 😂
00:19
Просмотров 264 тыс.
Хэш-таблицы за 10 минут
13:01
Просмотров 122 тыс.
Что такое Java и как ее выучить?
19:55
Gizli Apple Watch Özelliği😱
0:14
Просмотров 4 млн