Python 中的 Tuple[Hashable] 是什么意思?
What does Tuple[Hashable] mean in Python?
我遇到了以下代码:
def func(self, v: Tuple[Hashable]):
...
我知道 v: Tuple
意味着变量 v 必须是元组类型,但是 Tuple[Hashable]
是什么意思? Python 中的元组不是总是可哈希的吗?
仅当元组中的值本身可哈希时,元组才可哈希。
>>> hash((1,2))
-3550055125485641917
>>> hash(([1],2))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
我遇到了以下代码:
def func(self, v: Tuple[Hashable]):
...
我知道 v: Tuple
意味着变量 v 必须是元组类型,但是 Tuple[Hashable]
是什么意思? Python 中的元组不是总是可哈希的吗?
仅当元组中的值本身可哈希时,元组才可哈希。
>>> hash((1,2))
-3550055125485641917
>>> hash(([1],2))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'