ndarray의 평면 반복자가 왜 작동하는지 이해하려고합니다. A
을 모양이 (N, N)
인 ndarray라고합시다. 평면 반복자로 ndarray 값 설정하기
A.flat[::N + 1] = 1
는 값
1
에
A
의 대각선 요소를 설정. 따라서
A.flat
은
A
에 대한보기와 같이 작동합니다. (A.flat가보기 인 경우는 마찬가지로) 놀랍게도하지만,
A.flat[::N + 1][1:] = 1
는
A
수정하지 않습니다.
A.flat
은 A
에 대한보기가 아닌 flatiter
개체입니다. 이것의 근거는 무엇입니까? 뷰로 구현할 수 있습니까?
[내가 이해하는 것처럼, 원시 배열 데이터는 배열 길이, 배열 크기, 보폭, 열 순서 등 데이터의 해석에 관한 정보와 별도로 저장됩니다. 따라서 병합을 달성 할 수있는 것으로 보입니다 . (열 순서에 의존하고 보폭) 적절한 치수를 설정하여] 파이썬에서
그 두 가지의'.flags'를 체크하면. 두 번째 것이 자신의 데이터를 소유하고 있지 않음을 알 수 있습니다. – M4rtini