在Python中将两个数组附加在一起

时间:2011-11-21 15:52:58

标签: python arrays append

我一直在Python中使用包含一维值列表的数组。到目前为止,我一直在使用array.append(value)函数一次向数组中添加一个值。

现在,我想将另一个数组中的所有值添加到主数组中。换句话说,我不想一次添加一个值。辅助阵列收集十个值,当收集这些值时,它们都被转移到主阵列。问题是,我不能简单地使用代码'array.append(other_array)',因为我得到以下错误:

unsupported operand type(s) for +: 'int' and 'list'

我哪里错了?

4 个答案:

答案 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.arrayarray模块中)或list?因为给出了你的错误信息,它似乎是后来的。

无论如何,你可以使用+=运算符,对于大多数容器类型应该被覆盖,但操作数必须是相同的(复合)类型。

答案 3 :(得分:0)

通常,如果你想向右(axis=1)或底部(axis=0)扩展一个结构,你应该看看numpy.concatenate()函数,见{ {3}}。

np.concatenate(arr1, arr2, axis=0) 

可能是这里需要的,在嵌套数组中添加一个新行。