不可变的numpy数组?

有没有一种简单的方法来创build一个不可变的NumPy数组?

如果必须从ndarray派生一个类来做到这一点,那么为了实现不可变性,必须重写的最小方法是什么?

你可以使一个numpy数组不可写:

 a = np.arange(10) a.flags.writeable = False a[0] = 1 # Gives: RuntimeError: array is not writeable 

另请参阅本主题中的讨论:

http://mail.scipy.org/pipermail/numpy-discussion/2008-December/039274.html

和文件:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.flags.html