引用python数组切片和内存使用情况

时间:2018-03-27 09:21:09

标签: python arrays memory

我想创建对同一数字序列的多个引用。无法使用索引,数据应作为序列显式提供。稍后将结果用于只读操作。

我尝试了什么:

m = np.array([[199, 299,   3],[  4,   5,   6],[  7,   8,   9]])
a=m[1,]

我知道这应该复制:

a[:]

现在如果我尝试:

b=[]
for x in range(100000): b.append(a[:])

我的内存使用量增加了大约16MB(任务管理器) 其中:

for x in range(100000): b.append(a)

为使用的mem添加不到1MB。

无论如何更改 a 或更改 a [:] 会更改 m 。在这两个例子中, b 似乎相同。

这里发生了什么,以最少的内存使用情况引用同一行的最佳方法是什么。

0 个答案:

没有答案