Вопросы к Поиску с Алисой
Функция hash в Python возвращает одинаковое значение для -1 и -2, потому что разработчики намеренно сделали так, чтобы hash(-1) всегда равнялось -2. thelightech.ru
Это решение принято для предотвращения потенциальных коллизий хэшей с объектами других типов. thelightech.ru Если бы hash(-1) также возвращало -1, это привело бы к коллизии хэшей при использовании объекта и целого числа -1 в словаре или множестве. thelightech.ru Чтобы избежать этой проблемы, hash(-1) было сделано равным -2, чтобы отделить его от потенциальных хэш-значений других типов объектов. thelightech.ru
Такое поведение характерно для CPython и может отличаться в других реализациях Python (например, PyPy). thelightech.ru stackoverflow.com