【发布时间】:2020-11-13 15:07:15
【问题描述】:
我该如何实现:
>>> foo = np.array([1,2,3])
array([1,2,3])
>>> foo.append(4)
array([1,2,3,4])
而不是numpy的:
np.append(foo, 4)
我尝试过以下方面的东西:
import numpy as np
class myarrayclass(np.array):
def append(self, value):
self.object = np.append(self.object, value)
另外,是否可以覆盖 numpy 类而不是创建我自己的类? 我不需要这个工作,只是想知道它是否可能,提前谢谢!
【问题讨论】:
-
在尝试之前先查看
np.append的代码。它不是一个列表append克隆,不应被视为一个。 -
最接近于列出追加的是
resize方法。这可以就地添加零。查看np.resize函数的代码可能会有所启发,该函数没有就地运行。而是使用concatenate和reshape,创建一个新数组。