gsa*_*ras 5 python hash dictionary python-2.7 locality-sensitive-hash
跟随这个问题,我们知道两个不同的字典,dict_1例如dict_2使用完全相同的哈希函数。
有什么方法可以改变字典使用的哈希函数吗?否定答案也被接受!
您无法更改哈希函数 - 字典将调用hash它应该插入的键,就是这样。
但是,您可以包装键以提供不同的__hash__和__eq__方法。
class MyHash(object):
def __init__(self, v):
self._v = v
def __hash__(self):
return hash(self._v) * -1
def __eq__(self, other):
return self._v == other._v
Run Code Online (Sandbox Code Playgroud)
如果这实际上对我怀疑的原始问题/问题有任何帮助,那么似乎基于自定义数组/列表的数据结构可能是答案。或不。