当我尝试从array.array模块分配数组时,如下所示:
a = array('f')
a[0] = 2.2
我将数组赋值超出范围,所以基本上我必须在第一个语句本身中分配一些虚拟值和大小,如a = array('f',[0]*20)
。是吗?
答案 0 :(得分: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列表非常相似。
答案 1 :(得分: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
方法,您可以在创建后使用这些方法添加元素。