问题描述
在python中玩hash()
时,发现给出一个int(小于18位),hash()
将返回与输入的完全相同的值。这对我来说没有多大意义。
为什么要这样设计?
另外一个有趣的事情是,当给 -1
或 -2
时,它会返回 -2
(即碰撞)
>>> hash(2)
2
>>> hash(1)
1
>>> hash(0)
0
>>> hash(-1)
-2
>>> hash(-2)
-2
>>> hash(-3)
-3
python 版本是 3.6.12
已编辑:
关键是为什么它是这样设计的,而不是像 md5 这样的东西。使 hash(x)!=x
甚至是整数?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)