1

当我尝试从 array.array 模块分配数组时,如下所示:

a = array('f')

a[0] = 2.2

我的数组赋值超出了范围,所以基本上我必须在第一条语句本身中分配一些虚拟值和大小,例如a = array('f',[0]*20). 是对的吗?

4

2 回答 2

0

不一定-您还可以使用以下方法添加元素append

a.append(2)
print a
# array('f', [2.0])

extend

a.extend([1, 2, 3, 4])
print a
# array('f', [2.0, 1.0, 2.0, 3.0, 4.0])

因此,它的工作方式与常规 Python 列表大致相同。

于 2013-01-28T19:53:09.010 回答
0

这也发生在list

>>> L = []
>>> L[0] = 'a'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range

基本上[]语法要求索引是有效的。它不能用于添加元素。

该类array.array支持大多数list方法,您可以使用这些方法在创建后添加元素。

于 2013-01-28T19:53:54.277 回答