哈希
- 不可哈希:可变的数据结构如 list,dict,set
- 可哈希:数字、字符串、(只含数字、字符串的)touple
尽管touple为不可变数据类型,但包含list元素的touple仍不可哈希。事实上,可以在不改变touple内list的id的情况下,对list进行+=、extend等原地修改 *** 作。
tuple元组的不可变是指元素对象的引用不可变,不能对其再次赋值,但是在其中可变元素对象的引用不被修改前提下,仍旧可以对可变元素对象修改。
>>> b
{1: 2, 3: 4, 0: 1, 2: 1}
>>> hash(b)
Traceback (most recent call last):
File "", line 1, in
TypeError: unhashable type: 'dict'
>>> c
(1, 2, 3, [1, 2, 3, 4])
>>> f
(1, 2, 3)
>>> hash(c)
Traceback (most recent call last):
File "", line 1, in
TypeError: unhashable type: 'list'
>>> hash(f)
529344067295497451
参考1
参考2
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)