@SereyK

Что в python может быть неизменяемым и нехэшируемым объектом?

Что в python может быть неизменяемым нехэшируемым объектом?
Т.е. объект вроде неизменяемый, но в качестве словаря его нельзя использовать.
  • Вопрос задан
  • 645 просмотров
Решения вопроса 1
@fireSparrow
Для стандартных типов-контейнеров (кортеж, frozenset) хэш вычисляется на основе хэшей его элементов.
Соответственно, чтобы для контейнера можно было вычислить хэш, мало одного условия неизменяемости самого объекта, нужно чтобы неизменяемыми были и все его элементы.

Поэтому кортежи (1, 2, 3) и (1, 2, [3]) оба являются неизменяемыми, но хэшируемым - только первый из них.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы