Курс 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. Философия Python
  2. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  3. Настройка шрифта и цвета в Tkinter
  4. Генераторы данных
  5. Управление фоновыми задачами в Python
  6. Фильтрация данных в Python.
  7. Оператор is в Python
  8. Функция reduce() из модуля functools
  9. Метод radd для пользовательских чисел
  10. Основы работы со списками
  11. Создание панели меню Tkinter
  12. Декораторы в Python
  13. Функции map() и reduce() в Python
  14. Модуль sys: основы
  15. Генераторы в Python
  16. Метод сравнения объектов в Python
  17. Особенности запятых в Python
  18. Динамическая типизация в Python
  19. Сложные типы данных в Python
  20. Работа с enumerate()
  21. Транспонирование матрицы
  22. Введение в Python
  23. Функция divmod() в Python
  24. Операторы Splat и splatty-splat
  25. Использование модуля __future__
  26. Повторение элементов списков
  27. Форматирование строк в Python
  28. Обработка элементов в Python
  29. Получение текущей даты в Python
  30. Получение значений из словарей
  31. Переменные класса и экземпляра
  32. Генерация случайных чисел в Python
  33. Атрибуты массивов в Numpy
  34. Искажение имен в Python
  35. Вложенные циклы в Python
  36. Импорт в Python: список all
  37. Поиск подстроки в строке
  38. Запрос DELETE с библиотекой requests
  39. Работа со словарями с defaultdict из collections
  40. Взаимодействие с sys
  41. Переопределение метода __floordiv__
  42. Вывод букв строки в Python
  43. Отделение звука от видео
  44. Работа с файлами и директориями в Python.
  45. Управление асинхронными задачами с помощью Semaphore
  46. Работа с базами данных SQLite
  47. Переопределение метода len
  48. Работа с каталогами в Python

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