我一直在Python中使用包含一维值列表的数组。到目前为止,我一直在使用array.append(value)函数一次向数组中添加一个值。
现在,我想将另一个数组中的所有值添加到主数组中。换句话说,我不想一次添加一个值。辅助阵列收集十个值,当收集这些值时,它们都被转移到主阵列。问题是,我不能简单地使用代码'array.append(other_array)',因为我得到以下错误:
unsupported operand type(s) for +: 'int' and 'list'
我哪里错了?
答案 0 :(得分:18)
您正在寻找array.extend()方法。 append()
只将一个元素附加到数组中。
答案 1 :(得分:17)
列表可以加在一起:
>>> a = [1,2,3,4]
>>> b = [5,6,7,8]
>>> a+b
[1, 2, 3, 4, 5, 6, 7, 8]
可以轻松地将其中一个添加到另一个的末尾:
>>> a += b
>>> a
[1, 2, 3, 4, 5, 6, 7, 8]
答案 2 :(得分:2)
数组(如numpy.array
或array
模块中)或list
?因为给出了你的错误信息,它似乎是后来的。
无论如何,你可以使用+=
运算符,对于大多数容器类型应该被覆盖,但操作数必须是相同的(复合)类型。
答案 3 :(得分:0)
通常,如果你想向右(axis=1
)或底部(axis=0
)扩展一个结构,你应该看看numpy.concatenate()
函数,见{ {3}}。
np.concatenate(arr1, arr2, axis=0)
可能是这里需要的,在嵌套数组中添加一个新行。