list[int, ...] 不起作用,而 tuple[int, ...] 正在工作。请解释为什么我收到错误

问题描述 投票:0回答:2
a: list[int, ...] = [1,2,3,4,5]
print(a) # i am getting error while running on mypy

b: tuple[int, ...] = (1,2,3,4,5)
print(b) # runs without error on mypy
  1. 请解释为什么 mypy 在列表上引发错误而不是在元组上引发错误?
python mypy python-typing
2个回答
0
投票

tuple[T, ...]
表示任意长度的
T
类型元素的元组。

list
不存在这样的构造,因为列表是同质的。
list
仅接受一个指定列表元素类型的类型参数。


0
投票

如果您想指定整数列表,请使用

list[int]
而不是
list[int, ...]

列表没有省略号 (

...
)。

有关更多信息,请参阅文档

© www.soinside.com 2019 - 2024. All rights reserved.