【python数据结构的哈希】

【python数据结构的哈希】,第1张


哈希
  • 不可哈希:可变的数据结构如 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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/567996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存