gpt4 book ai didi

python - 使用 Python 类型模块指定序列或列表的长度

转载 作者:太空狗 更新时间:2023-10-29 18:06:58 25 4
gpt4 key购买 nike

我正在试一试 Python typing 模块。

我知道像下面这样指定 List 的长度是有效的*:

List[float, float, float]   # List of 3 floats <-- NOTE: this is not valid Python

是否有较长列表的简写形式?如果我想将它设置为 10 个 float 怎么办?

List[float * 10]   # This doesn't work.

如果可能的话,这会很方便。


*注意:事实证明,以这种方式向 Sequence[](及其子类)提供多个参数目前在 Python 中是无效的。此外,目前无法以这种方式使用 typing 模块指定 Sequence 长度。

最佳答案

你不能。列表是一种可变的、可变长度 结构。如果您需要固定长度的结构,请改用元组:

Tuple[float, float, float, float, float, float, float, float, float, float]

或者更好的是,使用 named tuple ,它同时具有索引和命名属性:

class BunchOfFloats(NamedTuple):
foo: float
bar: float
baz: float
spam: float
ham: float
eggs: float
monty: float
python: float
idle: float
cleese: float

对于固定长度的数据结构,列表只是错误的数据类型。

关于python - 使用 Python 类型模块指定序列或列表的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44833822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com