列表不可哈希,但元组可哈希?

列表不可哈希,但元组可哈希?,第1张

列表不可哈希,但元组可哈希?

主要是因为元组是不可变的。承担以下工作:

>>> l = [1, 2, 3]>>> t = (1, 2, 3)>>> x = {l: 'a list', t: 'a tuple'}

现在,当您这样做时会发生什么

l.append(4)
?您已修改字典中的键!远道而来!如果您熟悉哈希算法的工作原理,这会让您感到恐惧。另一方面,元组是绝对不变的。
t+= (1,)
看起来好像是在修改元组,但实际上并非如此:它只是创建一个 新的 元组,而字典键保持不变。



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

原文地址: https://outofmemory.cn/zaji/5630605.html

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

发表评论

登录后才能评论

评论列表(0条)

保存