问题
Is there a simple way to create an immutable NumPy array?
If one has to derive a class from ndarray
to do this, what's the minimum set of methods that one has to override to achieve immutability?
回答1:
You can make a numpy array unwriteable:
a = np.arange(10)
a.flags.writeable = False
a[0] = 1
# Gives: RuntimeError: array is not writeable
Also see the discussion in this thread:
http://mail.scipy.org/pipermail/numpy-discussion/2008-December/039274.html
and the documentation:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.flags.html
来源:https://stackoverflow.com/questions/5541324/immutable-numpy-array