如何限制分配给TypeVar的哈希值?

时间:2019-05-13 05:31:41

标签: python python-typing

我想将TypeVar的角色限制为Hashable。 例如,

def convert_to_set(x: List[T]) -> Set[T]:
    return set(x)

我想指出THashable的子类,因为set的所有元素都必须是可哈希的。

我认为以下解决方案之一:

TH = TypeVar("TH", Hashable, Hashable)

但是,我认为这很丑。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

我从https://mypy.readthedocs.io/en/stable/generics.html#type-variables-with-upper-bounds获得了解决方案

T = TypeVar(T, bound=Hashable)