Может ли у 2 ключей словаря быть одинаковый хэш

Python Middle Без компании
Может ли у 2 ключей словаря быть одинаковый хэш
Ответы
Да, у двух разных ключей словаря может быть одинаковый хэш. Это называется коллизией хэшей. Python корректно обрабатывает такие ситуации, используя метод разрешения коллизий (например, через цепочки или открытую адресацию). Пример: ``` class TestKey: def __hash__(self): return 1 # Всегда возвращаем один и тот же хэш a = TestKey() b = TestKey() d = {a: 'first', b: 'second'} # Оба ключа имеют одинаковый хэш print(d[a]) # 'first' print(d[b]) # 'second' ``` Хотя хэши одинаковы, словарь различает ключи по их идентичности (через `__eq__`). Если не переопределить `__eq__`, Python использует сравнение по id объекта.