Курс 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. Параллельные вычисления в Python
  3. Повторение элементов в Python
  4. Работа с множествами в Python
  5. Генераторы в Python
  6. Работа с необработанными строками
  7. Подчеркивание в REPL
  8. Вычисление логарифмов в Python
  9. Генерация случайных чисел в Python
  10. Библиотека Rich: форматирование текста
  11. Вакансии в Nebius
  12. Уникальные значения из списка
  13. Протокол управления контекстом
  14. Срезы в Python
  15. Удаление ссылок в Python
  16. Удаление пробелов методом translate()
  17. Использование обратной косой черты в f-строках
  18. Подсчет элементов с помощью Counter из collections
  19. Импорт и использование модулей в Python
  20. Модуль math: константы π и e
  21. Сложные типы данных в Python
  22. Анонимные функции в Python
  23. Python Поверхностное Копирование
  24. Построение графиков в терминале с bashplotlib
  25. Работа с асинхронными задачами в Python
  26. Выключение компьютера с помощью Python
  27. Метод index() в Python
  28. Генераторы по генератору
  29. Многострочные комментарии в Python
  30. Удаление эмодзи с помощью pandas
  31. Метод округления чисел
  32. Оператор обр. импликации
  33. Установка виртуального окружения Python
  34. Оператор «is not» в Python
  35. Работа с кортежами в Python
  36. Работа с итераторами в Python
  37. Библиотека sh: удобные команды терминала
  38. Преобразование многоуровневого словаря
  39. Создание и инициализация объектов
  40. Обмен данными с asyncio.Queue
  41. Классы данных в Python
  42. Установка и использование модуля Wikipedia
  43. Аргументы *args и **kwargs
  44. Получение срезов итераторов
  45. Настройка нарезки списков
  46. Оператор del в Python
  47. Combobox в Tkinter
  48. Подсчет элементов в списке с Counter

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