在Python中散列数组

是否可能哈希列表?

例如,我知道元组的散列是可能的:

>>> hash((1,2,3,4,5,6))
-319527650

但是可以哈希列表吗?

>>> hash([1,2,3,4,5,6])
hash_value

可能的解决方案:

Very in depth explanation to the hashing of lists, here.

去尝试一下:

>>> hash((1,2,3))
2528502973977326415
>>> hash([1,2,3])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> hash(frozenset((1,2,3)))
-7699079583225461316
>>> hash(set((1,2,3)))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'set'

所以你可以得到元组和frozenset的哈希,因为是不可变的,你不能做这个列表和设置,因为它们是可变的。

http://stackoverflow.com/questions/7027199/hashing-arrays-in-python

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在Python中散列数组