@SereyK

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

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

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

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект