Встречается на собеседованиях • сегодня

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

Да, у двух разных ключей словаря может быть одинаковый хэш. Это называется коллизией хэшей. Python корректно обрабатывает такие ситуации, используя метод разрешения коллизий (например, через цепочки или открытую адресацию).

Пример:

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 объекта.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы