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

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

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

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

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

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
25 янв. 2025, в 01:32
1000 руб./за проект
24 янв. 2025, в 23:36
800 руб./за проект
24 янв. 2025, в 22:10
1000 руб./за проект