不可变的numpy数组

cpa*_*cpa 1 python numpy scipy

我的问题是那一个的扩展:不可变的numpy数组?

此代码打印False,因为即使a是不可变的,b也不是.

a = np.arange(10)
a.setflags(write=False)
b = a[1:]
b[1] = -1
print a == np.arange(10)
Run Code Online (Sandbox Code Playgroud)

这首先打破了只读数组的目的.有没有办法在numpy中继承readonlibility?

eca*_*mur 5

我明白了:

>>> b[1] = -1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
RuntimeError: array is not writeable
Run Code Online (Sandbox Code Playgroud)

这是numpy 1.6.0(在Python 2.6.2上).可能这是一个修复过的错误,或者是一个回归 - 你使用的是什么版本的numpy?