不可变的numpy数组?

时间:2011-04-04 16:18:53

标签: python arrays numpy immutability readonly

是否有一种简单的方法来创建不可变的NumPy数组?

如果必须从ndarray派生一个类来执行此操作,那么为了实现不变性,必须覆盖的最小方法集是什么?

1 个答案:

答案 0 :(得分:90)

你可以使一个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