为什么输入可变长度 Tuple 需要省略号而 List 不需要?

pst*_*tix 6 python typing

根据文档

要指定同类类型的变长元组,请使用文字省略号,例如 Tuple[int, ...]。普通元组相当于 Tuple[Any, ...],进而相当于元组。

因此,注释Tuple[int]指定一个包含单个整数的元组;但List[int]意味着可变长度。

如果两者都可以是同源/异质的,为什么必须...使用 withTuple[int, ...]而不能使用 with ?List[int]

dec*_*eze 9

元组通常用于固定大小的小型异构值集。因此,类型提示采用单独的参数来表示每个值的类型,例如Tuple[str, int, list]。同质元组实际上是一种特殊情况,...符号是它的简写。

列表通常是未定义长度的同质序列。因此它的类型提示只需要一个参数。