我想创建对同一数字序列的多个引用。无法使用索引,数据应作为序列显式提供。稍后将结果用于只读操作。
我尝试了什么:
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 似乎相同。
这里发生了什么,以最少的内存使用情况引用同一行的最佳方法是什么。