以list为元素的元组可以在任何阶段进行修改吗?
答案 0 :(得分:1)
Tuples是可哈希的,因此,并且仅当其所有元素都是可哈希的时才可用作dict键。
这是您直观的期望,并且很容易测试:
>>> {(1, 2): 3}
{(1, 2): 3}
>>> {(1, [2]): 3}
TypeError: unhashable type: 'list'
但是,如果您想知道它的记录位置,它位于序列类型-list
,tuple
,range
Immutable Sequence Types部分中>文档:
不可变序列类型通常不能实现的唯一操作是可变
hash()
内置。此支持允许将诸如
tuple
实例之类的不可变序列用作dict
键并存储在set
和frozenset
实例中。尝试对包含不可哈希值的不可变序列进行哈希处理将导致
TypeError
。