ID集合的哈希函数
在Python中,有没有一种哈希算法或函数,可以把一组独特的字符串转换成一个唯一的哈希字符串呢?
举个例子,如果有一组 {a,b,c}
,它应该返回一个唯一的ID,而无论是 {c,a,b}
还是 {b,c,a}
,都应该得到同样的唯一ID。
1 个回答
3
这里有一个内置的 hash 函数可以用来做这个事情。两个包含相同值的 frozenset 保证会有相同的哈希值。
>>> s=frozenset(('hello','abc','12','42','zyx'))
>>> t=frozenset(('zyx','hello','abc','42','12'))
>>> s
frozenset({'abc', '42', '12', 'hello', 'zyx'})
>>> t
frozenset({'abc', '42', 'hello', '12', 'zyx'})
>>> hash(s)
8290365720384972439
>>> hash(t)
8290365720384972439
>>> hash(s)==hash(t)
True