问题描述
我需要使用项目序列作为dict键并壮举List[...]
类型。如果我使用tuple
,那么它就不适合List[...]
类型,并且我不能使用Tuple[...]
类型,因为元组长度未知。
是否有任何类(可能来自第三方包装)类似于可散列的冻结列表?
解决方法
与List[T]
不变的是Tuple[T,...]
。
,要指定同构类型的可变长度元组,请使用文字省略号,例如
Tuple[int,...]
。普通的Tuple
等效于Tuple[Any,...]
,等效于tuple
。
frozenlist
软件包似乎需要功能
def __hash__(self):
if self._frozen:
return hash(tuple(self))
else:
raise RuntimeError("Cannot hash unfrozen list.")
但是此代码未包含在任何发行版中(当时是1.0.0和1.0.0a0)。检查情况是否会得到改善。这是我创建的issue。