当我尝试从 array.array 模块分配数组时,如下所示:
a = array('f')
a[0] = 2.2
我的数组赋值超出了范围,所以基本上我必须在第一条语句本身中分配一些虚拟值和大小,例如a = array('f',[0]*20)
. 是对的吗?
当我尝试从 array.array 模块分配数组时,如下所示:
a = array('f')
a[0] = 2.2
我的数组赋值超出了范围,所以基本上我必须在第一条语句本身中分配一些虚拟值和大小,例如a = array('f',[0]*20)
. 是对的吗?
不一定-您还可以使用以下方法添加元素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 列表大致相同。
这也发生在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
方法,您可以使用这些方法在创建后添加元素。