在Python中合并两个数组

7 投票
4 回答
82246 浏览
提问于 2025-04-17 06:45

我一直在用Python处理一个数组,这个数组里面有一维的数值列表。到目前为止,我一直用array.append(value)这个方法一个一个地往数组里添加值。

现在,我想把另一个数组里的所有值一次性添加到主数组里。换句话说,我不想一个一个地添加。那个辅助数组会收集十个值,当这些值都收集齐了,就一次性转移到主数组里。问题是,我不能简单地用'array.append(other_array)'这段代码,因为会出现以下错误:

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

我哪里出错了?

4 个回答

2

你是在问用数组(比如 numpy.arrayarray 模块)还是用 list 吗?因为根据你给的错误信息,看来你应该是用后者,也就是 list

不管怎样,你可以使用 += 这个操作符,它通常可以用于大多数容器类型,但要注意,两个操作数必须是相同的(复合)类型。

30

列表可以相加:

>>> 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]
22

你可以看看 array.extend() 这个方法。append() 只会把一个单独的元素加到数组里。

撰写回答