Курс 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. Преобразование списка в словарь через генератор
  3. Справка по импортированным модулям
  4. Условные выражения в Python
  5. Генераторы в Python
  6. Метод rmatmul для обратного матричного умножения
  7. Создание и использование модулей в Python
  8. Вычисление логарифмов в Python
  9. Срезы в Python
  10. Проверка памяти объекта
  11. Явный импорт переменных
  12. Установка и использование TensorFlow
  13. Создание словаря с значением по умолчанию
  14. Работа со списками
  15. Взаимодействие с sys
  16. Асинхронное выполнение задач в процессах
  17. Функции-генераторы в Python
  18. Чтение и запись TOML-конфигов
  19. Сортировка и разворот списка
  20. Замена атрибута в именованном кортеже
  21. Метод rxor для операции побитового исключающего «или»
  22. Метод get() для словарей
  23. Переворот строки
  24. Работа со строками в Python
  25. Извлечение новостей с помощью newspaper3k
  26. Перебор элементов списка в Python
  27. Обработка StopIteration в Python
  28. Классы данных в Python
  29. Объединение словарей в Python
  30. Метод __float__ в Python
  31. Python UserString — создание подклассов строк
  32. Документирование функций в Python
  33. Операция += для списков
  34. Проблема с изменяемыми аргументами
  35. Установка виртуального окружения Python
  36. Обработка исключений с блоком else
  37. Бесконечные списки в Python
  38. Оператор «or» в Python
  39. Обработка аргументов Python
  40. Склеивание строк без циклов
  41. F-строки в Python 3.8
  42. Создание вложенных циклов for
  43. Управление асинхронными задачами с помощью Semaphore
  44. Работа с атрибутом dict
  45. Метод classmethod
  46. Сравнение def и lambda в Python
  47. Лямбда-функции для min/max
  48. Получение текущей директории

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