Встречается на собеседованиях • сегодня
Какая связь между hash-функцией и изменяемостью/неизменяемостью типов
Хеш-функция требует, чтобы объект был неизменяемым, так как хеш используется в словарях и множествах для быстрого доступа. Если объект изменится после добавления в коллекцию, его хеш тоже изменится, что приведёт к ошибкам поиска.
Пример:
python
# Кортеж (неизменяемый) — хешируемый
hash((1, 2)) # Работает
# Список (изменяемый) — не хешируемый
hash([1, 2]) # TypeError: unhashable type: 'list'Неизменяемые типы (int, str, tuple, frozenset) реализуют __hash__, а изменяемые (list, dict, set) — нет. Если переопределить __hash__ для изменяемого класса, это нарушит логику работы словарей.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы