Курс 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. Измерение времени выполнения кода
  2. Метод enumerate() в Python
  3. Область видимости переменных
  4. Преобразование строк в числа в Python
  5. Подсказки при вводе данных в Python
  6. Объединение Python и Shell
  7. Сохранение и загрузка модели в PyTorch
  8. Многострочные комментарии в Python
  9. Удаление элементов по срезу
  10. Очистка списка от False, None, 0, «»
  11. Лямбда-функции в defaultdict
  12. Создание списка через цикл
  13. Поиск элементов BeautifulSoup
  14. Генерация фальшивых данных с Faker
  15. Метод setitem в Python
  16. Модуль subprocess: запуск внешних команд
  17. Принципы программирования
  18. Декораторы для регистрации функций
  19. Метод ne для сравнения объектов
  20. Поиск уникальных элементов строкой в Python
  21. Профилирование с Pandas
  22. Область видимости переменных
  23. Переопределение метода __eq__
  24. Преобразование числа в восьмеричную строку
  25. Удаление и повторная вставка ключа в OrderedDict
  26. Сглаживание списка
  27. Игра Виселица на Python
  28. Создание таблиц в Python с PrettyTable
  29. Метод __irshift__ для Python
  30. Python: Splat-оператор и splatty-splat
  31. Отрицательные индексы списков
  32. Обработка исключений в Python
  33. Переопределение метода __or__()
  34. Установка переменной среды в Python
  35. Создание функций высшего порядка
  36. Склеивание строк через метод join()
  37. Иерархия классов в Python
  38. Генераторы в Python
  39. Создание пар из последовательностей
  40. Работа с timedelta в Python
  41. Декоратор для группы пользователей в Django
  42. Получение списка кортежей из словаря
  43. Создание лямбда-функций
  44. Инверсия списка и строки
  45. Аннотации типов в Python
  46. Работа с JSON в Python

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