arr1 = arr[1000:1003, 999 : 1001]
은 view
이 arr
입니다. 즉, 모양과 스트라이드가있는 새로운 배열 객체이지만 데이터 버퍼는 arr
과 공유됩니다. (나는 '주'하지만 난 여기에 문제를 생각하지 않는 방법에 대한 세부 사항을 얻을 수 있습니다.)
arr[1000, 1000]
, arr[1001, 1000]
, arr[1002,999]
이 arr
의 개별 요소입니다. arr1[0,1]
, arr1[1,1]
, arr1[2,0]
같은 요소를 참조하십시오 (수학을 올바르게 수행 한 경우). 제 생각에 접근 시간은 같을 것입니다.
그 세 가지 요소
는
arr2 = arr[[1000, 1001, 1002],[1000, 1000, 999]]
으로, 하나 개의 사본으로, 한 번에 가져올 수 있었다 나는 기대
for x in arr:
<do something with x>
보다 빠른
for idx in [[1000, 1000], [1001, 1000], [1002,999]]:
x = arr[idx]
<do something with x>
될 것입니다 그러나 그것은 가능성이 있음 '무언가'의 시간은 색인 시간을 초과 할 것입니다.
하지만 테스트 케이스를 설정하고 다른 방법을 시도해 보시기 바랍니다. 차이점을 직접 확인하십시오.
직접 확인하지 못하게되어 "이론"에 대해 걱정할 필요가없고 대신 "현실"에 만족할 수 있습니까? 조금 더 많은 정보/연구를 통해 좋은 질문이 될 수 있습니다. –