TGViewer
Just Python Just Python @justpython_it · 9.82K subscribers
Post #5717 338
Хэш-функций (ч.2)

Как Python нашел 5 в словаре, содержащем 5.0? Python делает это за постоянное время без необходимости сканировать каждый элемент с помощью хэш-функций. Когда Python ищет ключ foo в dict, он сначала выполняет вычисления hash(foo) (которые выполняются в постоянном времени). Поскольку в Python требуется, чтобы объекты, которые сравниваются равными, также имели одинаковое хэш-значение (docs здесь), 5, 5.0 и 5 + 0j имеют одинаковое хэш-значение.

#theory // Just Python
More from @justpython_it
  1. Sep 25, 2026Объединение словарей Начиная с Python 3.5, стало проще объединять словари. Если встречаютс…
  2. Sep 25, 2026Возврат нескольких значений Функции в Python могут возвращать более одной переменной без п…
  3. Sep 24, 2026Использование памяти С помощью sys.getsizeof() можно проверить использование памяти объект…
  4. Sep 24, 2026Нарезка списка Синтаксис нарезания таков: a[start:stop:step] Start, stop и step необязател…
  5. Sep 23, 2026Форматирование именованных строк Такую штуку используют нечасто, но если данные уже находя…
  6. Sep 23, 2026Nested list comprehensions Помните основной синтаксис list comprehensions? [ expression fo…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →