Python/Numpy:如何分配数组的结束+ 1元素,类似于在Matlab中完成的方式?

Iso*_*ion 5 python arrays matlab numpy

例如,对于具有n个元素的一维数组,如果我想在Matlab中执行此操作,我可以这样做:

A(结束+ 1)= 1

将值1赋给数组A的最后一个元素,现在长度为n + 1.

Python/Numpy中有相同的东西吗?

mdm*_*dml 8

您可以使用append或将值附加到数组/列表的末尾numpy.append:

# Python list
a = [1, 2, 3]
a.append(1)
# => [1, 2, 3, 1]

# Numpy array
import numpy as np
a = np.array([1, 2, 3])
a = np.append(a, 1)
# => [1, 2, 3, 1]
Run Code Online (Sandbox Code Playgroud)

请注意,正如@BrenBarn所指出的那样,该numpy.append方法在每次执行时都会创建一个全新的数组,这会使其效率低下.

  • 请注意,这是一种效率低下的操作,因为它会创建一个全新的数组.逐渐增加numpy数组的大小并不是一种可扩展的方法. (3认同)