数组的类型提示是什么?

9

对于大多数集合,我们可以执行以下操作:

from typing import List, Tuple, etc

有没有一个跟array相关的提示?比如:

arr = array.array('i')

3
@Samwise,有这个东西,只是不太常用。 - Carcigenicate
2
如果有人想知道什么是数组: https://docs.python.org/3/library/array.html - Christian Sloper
3
你可以直接在类型提示中使用 array.array - Carcigenicate
1
@Carcigenicate 谢谢,这就是我在寻找的答案! - Sergey Slepov
1
array.array[int] 不应该起作用。我以前从未使用过 array(它非常小众),但据我了解,它只包含整数,因此 [int] 是多余的。当我刚才尝试时,我被告知 array 无法进行下标操作(TypeError: 'type' object is not subscriptable)。 - Carcigenicate
显示剩余7条评论
1个回答

8
根据Carcigenicate所指出的,你可以直接使用array.array作为类型注释。然而,你无法使用array.array[int]array.array[float]来指定元素的类型。
如果你需要这样做,我的建议是使用collections.abc中的MutableSequence,因为数组实现了所有必要的操作:__len____getitem____setitem____contains____iter__等等。
from collections.abc import MutableSequence

arr: MutableSequence[float] = array.array('f')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接