字典和集合使用哈希算法来唯一确定一个项目。这些算法利用用作键的项目得出唯一的哈希值。由于列表是可变的,因此列表的内容可以更改。在允许列表作为关键字存在于字典中之后,如果列表的内容发生变化,则哈希值也将发生变化。如果哈希值存储在字典中的特定插槽后发生了变化,则将导致字典不一致。例如,最初,该列表已存储在位置A,该位置是基于哈希值确定的。如果哈希值发生变化,并且如果我们查找列表,则可能无法在location处找到它
A,或者根据新的哈希值,可能会找到其他对象。
由于不可能提供哈希值,因此在内部没有为list定义哈希函数。
PyObject_HashNotImplemented,
由于未实现哈希函数,因此当您将其用作字典中的键或强制尝试使用该
hash函数获取哈希值时,它将无法对其进行哈希处理,因此对于不可哈希的类型将无法进行哈希处理
TypeError: unhashable type: 'list'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)