4
什么时候在Python中hash(n)== n?
我一直在玩Python的hash函数。对于小整数,它hash(n) == n总是出现。但是,这不会扩展为大量: >>> hash(2**100) == 2**100 False 我并不感到惊讶,我知道哈希值取值范围有限。这个范围是多少? 我尝试使用二进制搜索来找到最小的数字hash(n) != n >>> import codejamhelpers # pip install codejamhelpers >>> help(codejamhelpers.binary_search) Help on function binary_search in module codejamhelpers.binary_search: binary_search(f, t) Given an increasing function :math:`f`, find the greatest non-negative integer :math:`n` such that :math:`f(n) \le t`. If :math:`f(n) > t` …