Курс Python → Хэш-функции в Python

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

Одним из важных свойств хэш-функций в Python является то, что объекты, которые сравниваются как равные, должны иметь одинаковое хэш-значение. Это означает, что если 5, 5.0 и 5 + 0j сравниваются как равные объекты, то у них будет одинаковое хэш-значение. Это позволяет Python эффективно использовать хэш-таблицы для быстрого поиска значений в словарях.


# Пример использования хэш-функций в Python
my_dict = {5: 'five', 5.0: 'five point zero', 5 + 0j: 'five complex'}
key = 5
hash_value = hash(key)
if hash_value in my_dict:
    print(my_dict[hash_value])

В приведенном примере мы создаем словарь, где ключами являются различные представления числа 5 (целое, с плавающей точкой, комплексное). Затем мы ищем значение по ключу 5, вычисляем его хэш-значение и проверяем, есть ли это значение в словаре. Благодаря хэш-функциям Python может быстро найти и вернуть значение, связанное с ключом 5.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. JSON в Python: модуль, dump, dumps, load
  2. Работа с collections в Python.
  3. Работа с YAML в Python
  4. Избегание циклических зависимостей классов в Python
  5. Работа с контекстными переменными
  6. Удаление ключей из словаря
  7. Создание детектора плагиата
  8. Порядок и длина множеств в Python
  9. Отрицательные индексы списков
  10. Python enumerate() использование
  11. Создание новых списков
  12. Преобразование текста в нижний регистр
  13. Лимиты на ресурсы Python
  14. Оптимизация поиска в словарях
  15. Метод __index__ в Python
  16. Получение срезов итераторов
  17. Получение текущей директории
  18. Лямбда-функции в Python
  19. Поиск подстроки в строке
  20. TON Smart Challenge #2: участие и подготовка
  21. Управление экспортом элементов
  22. Типы возвращаемых значений в Python
  23. Реверс строки в Python
  24. Тестирование с unittest
  25. Извлечение чисел из текста
  26. Подсказки типов в Python
  27. Удаление первого элемента списка
  28. Работа с файлами в Python
  29. Установка и обучение ChatterBot
  30. Python groupby() из itertools: работа с повторяющимися элементами
  31. Метод get для словаря
  32. Проверка элемента в множестве.
  33. Нахождение разницы между списками в Python
  34. Поиск индексов подстроки
  35. Метод rlshift для битового сдвига
  36. Отладка производительности Python
  37. Создание .exe файла с pyinstaller
  38. Удаление и повторная вставка ключа в OrderedDict
  39. Правила именования переменных
  40. Обработка исключений в Python 3
  41. Атрибуты класса и экземпляра в Python
  42. Вычисление фазы комплексного числа
  43. Установка и использование модуля Wikipedia
  44. Метод index() в Python
  45. Разделение строк методом split()
  46. Python 3.12: Псевдонимы типов

Marketello читают маркетологи из крутых компаний