Python 3.9 类型提示中有没有办法定义具有特定元素类型的列表数据结构?
Is there a way to define a list data structure with specific element types in Python 3.9 type hinting?
例如,我想定义数据结构X
,其中X
是一个包含三个元素的list
。第一个和第三个元素是字符串,第二个元素是整数。所以像这样:
X = List[str, int, str]
有没有合适的方法来定义这样的东西?
列表通常用于未知长度的数据集合。 tuple
更适合您的用例:
from typing import Tuple
MyType = Tuple[str, int, str]
my_tuple: MyType = ("foo", 42, "bar")
更新:正如@sj95126 在他们的评论中提到的,您不必从 Python >= 3.9:
开始导入 typing.Tuple
MyType = tuple[str, int, str]
例如,我想定义数据结构X
,其中X
是一个包含三个元素的list
。第一个和第三个元素是字符串,第二个元素是整数。所以像这样:
X = List[str, int, str]
有没有合适的方法来定义这样的东西?
列表通常用于未知长度的数据集合。 tuple
更适合您的用例:
from typing import Tuple
MyType = Tuple[str, int, str]
my_tuple: MyType = ("foo", 42, "bar")
更新:正如@sj95126 在他们的评论中提到的,您不必从 Python >= 3.9:
开始导入typing.Tuple
MyType = tuple[str, int, str]