不变的numpy数组?

有没有简单的方法来创建不可变的NumPy数组?

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

NPE asked 2019-10-08T04:24:12Z
1个解决方案
88 votes

您可以使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]

JoshAdel answered 2019-10-08T04:24:48Z
translate from https://stackoverflow.com:/questions/5541324/immutable-numpy-array