Курс 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. Подписка на @SelectelNews
  3. Метод сравнения объектов в Python
  4. Модуль itertools: эффективная работа с итераторами
  5. Генератор бросков кубиков
  6. Шаблоны Flask: условия и циклы
  7. Импорт классов из другого файла
  8. Возвращение нескольких значений через кортеж или класс
  9. Оператор морж в Python 3.8
  10. Создание матрицы в Python
  11. Отладка производительности Python
  12. Названия столбцов в Python таблицах
  13. Генератор списка в Python
  14. Декоратор защиты анонимных пользователей
  15. Считывание бинарного файла в Python
  16. Метод Self в Python
  17. Функции min(), max(), sum()
  18. Работа с набором данных CIFAR10 в PyTorch
  19. Поиск уникальных и повторяющихся элементов
  20. Применение функции к списку
  21. Python enumerate() использование
  22. Декораторы в Python
  23. Перегрузка операторов в Python
  24. Выражения-генераторы в Python
  25. Форматирование строк с % в Python
  26. Генерация случайных данных в NumPy
  27. Конвертация текстовых чисел с помощью Numerizer
  28. Оптимизация интернирования строк
  29. Работа с getopt
  30. Проверка версии Python
  31. Профилирование кода
  32. Асинхронный код в Python
  33. Избегание циклических зависимостей классов в Python
  34. Возведение в квадрат с помощью itertools
  35. Основы работы с os
  36. Управление контекстом с помощью декоратора contextmanager
  37. Преобразование кортежа в словарь.
  38. Тип CodeType в Python.
  39. Генераторные функции в Python
  40. Срез в Python

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