Курс 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. Создание новых списков через list comprehensions
  2. Импортирование в Python
  3. Поиск индексов в списке
  4. Оптимизация методов в Python 3.7
  5. Пересечение списков с использованием множеств
  6. Строковое представление объектов
  7. Добавление элементов в список: append() vs extend()
  8. Сортировка элементов в Python
  9. Обмен переменными в Jupyter
  10. Модуль pprint: улучшение вывода данных
  11. Python: Фильтрация списков с помощью filter()
  12. Улучшение читаемости кода в Python
  13. Поиск наиболее частого элемента списке
  14. Определение объема памяти объекта
  15. Форматирование строк в Python
  16. HTTP-запросы с библиотекой Requests
  17. Применение функции к списку
  18. Оператор «моржа» (Walrus Operator)
  19. Вывод сложных структур данных с помощью pprint
  20. Печать списка с помощью метода join
  21. Использование html-скриптов в Jupyter Notebook
  22. Нахождение отличий в списках
  23. Путь к интерпретатору Python
  24. Удаление дубликатов из списка
  25. Официальный канал Python в Telegram
  26. Экспорт внешнего файла с помощью writefile
  27. Считывание бинарного файла в Python
  28. Проблемы с именами переменных
  29. Область видимости переменных
  30. Операции с кортежами
  31. PEP-401: оператор
  32. Обработка ошибок в Python
  33. Python и Монти Пайтон
  34. Принцип одной функции
  35. Логирование с Logzero
  36. Логирование в Python
  37. Управление фоновыми задачами в Python
  38. Обработка исключений в Python
  39. Проверка строки на палиндром
  40. Установка и использование Telegram API в Python
  41. Операторы Splat и splatty-splat
  42. Отладчик pdb: начало работы
  43. Печать в одной строке
  44. Установка и использование Virtualenv
  45. Работа с CSV файлами
  46. Декораторы в Python

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