Existe-t-il un moyen simple de créer une matrice NumPy immuable?Tableau nummp immuable?
Si l'on doit dériver une classe de ndarray
pour ce faire, ce qui est l'ensemble minimal de méthodes que l'on doit passer outre pour atteindre immuabilité?
Existe-t-il un moyen simple de créer une matrice NumPy immuable?Tableau nummp immuable?
Si l'on doit dériver une classe de ndarray
pour ce faire, ce qui est l'ensemble minimal de méthodes que l'on doit passer outre pour atteindre immuabilité?
Vous pouvez faire un tableau numpy unwriteable:
a = np.arange(10)
a.flags.writeable = False
a[0] = 1
# Gives: RuntimeError: array is not writeable
Voir aussi la discussion sur ce sujet:
http://mail.scipy.org/pipermail/numpy-discussion/2008-December/039274.html
et la documentation:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.flags.html
Alternativement, 'a.setflags (write = False)'. – lafras
@lafrasu Selon vous, quelle est la forme préférée, 'setflags()' ou 'flags.writeable ='? – NPE
@aix: Un rapide coup d'œil à la documentation donnerait l'impression que les deux approches sont identiques. Personnellement, je préfère utiliser une méthode pour définir des attributs. – lafras
Pourquoi faire vous avez besoin de l'immutabilité? – kennytm
@KennyTM Pour éviter les erreurs de codage causées par une modification accidentelle d'un élément présumé invariant. – NPE