int.__hash__简单地返回值似乎是合理的。果然,这似乎是CPython实现它的方式:
>>> hash(1)
1
>>> hash(2)
2
>>> hash(123456789)
123456789
>>> hash(-123456789)
-123456789
好吧,这对于所有大多数整数x都成立吗?
>>> [x for x in range(-10000, 10000) if hash(x) != x]
[-1]
??
>>> hash(-1)
-2
为什么-1这条规则是例外?
相关分类