【问题标题】:Appending two arrays together in Python在 Python 中将两个数组附加在一起
【发布时间】:2012-01-03 02:40:55
【问题描述】:

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

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

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

我哪里错了?

【问题讨论】:

  • array.append(other_array) 永远不会导致引用的错误消息。请出示您的真实代码。

标签: python arrays append


【解决方案1】:

通常,如果您想将结构扩展到右侧 (axis=1) 或底部 (axis=0),您应该查看 numpy.concatenate() 函数,请参阅 Concatenate a NumPy array to another NumPy array

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

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

【讨论】:

    【解决方案2】:

    数组(如numpy.arrayarray 模块)或list?因为根据您的错误信息,似乎是后者。

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

    【讨论】:

    • += 会添加值,不影响结构。
    【解决方案3】:

    列表可以加在一起:

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

    【讨论】:

    • 问题是关于数组,而不是列表。
    【解决方案4】:

    您正在寻找array.extend() 方法。 append() 仅将单个元素附加到数组中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-09
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 2022-07-08
      • 2015-02-10
      • 2015-06-01
      • 1970-01-01
      相关资源
      最近更新 更多