Изменение хеша объекта в set: вопрос по Python hash и eq
Выберите ответ и проверьте себя на странице.
Другие упражнения по этой теме: Сравнение и хеширование Python: задачи на eq, lt и set.
Посмотрите на код:
class Token:
def __init__(self, value: int):
self.value = value
def __eq__(self, other):
return isinstance(other, Token) and self.value == other.value
def __hash__(self):
return self.value
t = Token(10)
s = {t}
t.value = 20
Каков будет результат проверки t in s в стандартном CPython и почему?
Без регистрации · результат не сохраняется
Связанные задачи
- NotImplemented в lt: как Python сравнивает объекты
- Сравнение объектов Python: lt и несовместимые группы
- Python set: найдите объекты с изменённым хешем
- Rich comparisons Python: ранжирование объектов разных классов
- Python eq: сравнение объекта с диапазоном допустимых значений
- Удаление ключа из ChainMap в Python: проверка поведения del
