如何解决具有正确类型的不可变哈希列表
我需要使用项目序列作为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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。