FWQ
Python 字典的Key可以是包含列表的元组吗?
Python 字典的Key可以是包含列表的元组吗? 你在学习相关的知识吗?本文《Python 字典的Key可以是包含列表的元组吗?》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦! python基础问题:字典的key可以是元组([1, 2],)这种类型吗? 在python中,字典的key必须是可哈希对象,这意味着它们必须具有不变的哈希值,并且可以被比较以确定相等性。常见的可哈希类型包括字符串、整型、浮点型、布尔、元组和none。然而,列表等不可哈希对象不能用作key。 但是,根据提供的代码示例,将一个元组包裹在另一个元组中允许使用列表作为字典的key。这是因为python会计算元组中所有子元素的哈希值。例如,元组([1, 2],)的哈希值实际上是列表[1, 2]中元素的哈希值的哈希值。 为了更好地理解,让我们来看看元组的__hash__()函数的实现: static Py_hash_t tuplehash(PyTupleObject *v) { Py_ssize_t i, len = Py_SIZE(v); PyObject **item = v->ob_item; Py_uhash_t acc =…