ID集合的哈希函数

1 投票
1 回答
42 浏览
提问于 2025-04-14 18:20

在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

撰写回答