변경 불가능한 NumPy 배열을 만드는 간단한 방법이 있습니까?
ndarray
이 작업을 수행하기 위해 클래스를 파생 해야하는 경우 불변성을 달성하기 위해 재정의해야하는 최소 메서드 집합은 무엇입니까?
답변:
numpy 배열을 쓸 수 없게 만들 수 있습니다.
a = np.arange(10)
a.flags.writeable = False
a[0] = 1
# Gives: ValueError: assignment destination is read-only
이 스레드의 토론도 참조하십시오.
http://mail.scipy.org/pipermail/numpy-discussion/2008-December/039274.html
및 문서 :
http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.flags.html
a.setflags(write=False)
.
setflags()
나 flags.writeable=
?
.flags.writeable = False
은 여전히 변경할 수 없습니다. 경우 x
배열이고, y = x[:]; x.flags.writeable = False; y[0] = 5
의 첫 번째 요소 업데이트 x
행을 5
.