Задать вопрос
@SereyK

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

Что в python может быть неизменяемым нехэшируемым объектом?
Т.е. объект вроде неизменяемый, но в качестве словаря его нельзя использовать.
  • Вопрос задан
  • 756 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Хекслет
    Python-разработчик
    10 месяцев
    Далее
Решения вопроса 1
@fireSparrow
Для стандартных типов-контейнеров (кортеж, frozenset) хэш вычисляется на основе хэшей его элементов.
Соответственно, чтобы для контейнера можно было вычислить хэш, мало одного условия неизменяемости самого объекта, нужно чтобы неизменяемыми были и все его элементы.

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

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

Похожие вопросы