Курс 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. Генерация строк с .join()
  2. Ускорение кода с помощью векторизации
  3. Работа с файлами в Python
  4. Значения по умолчанию в Python
  5. Извлечение новостей с помощью newspaper3k
  6. Создание объекта времени
  7. Разбиение строки в Python
  8. Сортировка элементов с OrderedDict
  9. Обновление шаблона base.html
  10. Создание словаря с значением по умолчанию
  11. Функциональное программирование в Python
  12. Установка и использование модуля Wikipedia
  13. Оператор * в Python
  14. Управление асинхронными задачами на Python.
  15. Библиотека wikipedia для Python
  16. Python: библиотеки и функции
  17. Создание словарей в Python
  18. Динамическая типизация в Python
  19. Применение промокода в Много лосося
  20. Работа с Enum в Python3.
  21. Исключение NotImplementedError
  22. Progress с библиотекой tqdm
  23. Методы работы со строками в Python
  24. Виртуальное окружение Python
  25. Вложенные циклы в Python
  26. Создание обратного итератора
  27. Python UserString — создание подклассов строк
  28. Модуль itertools: эффективная работа с итераторами
  29. Работа с пользовательским вводом
  30. Создание таблиц в терминале с PrettyTable
  31. Разделение списка на гнппы
  32. Построение графиков в Matplotlib
  33. Отношения подклассов в Python
  34. Проверка элемента в множестве.
  35. Классы данных в Python
  36. Условное добавление элементов в список
  37. Избегание изменяемых аргументов
  38. Метод rrshift для пользовательских объектов
  39. Сравнение строк в Python
  40. Измерение времени выполнения кода с использованием time
  41. Разделение строки в Python
  42. Подсчет частоты элементов с Counter
  43. Переопределение метода len
  44. Вывод с переменной через запятую
  45. Перебор элементов списка в Python
  46. Оператор деления для класса Rational
  47. Объединение словарей в Python
  48. discard() — удаление элемента из множества

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