티스토리 뷰

반응형

Array[A:B:C]

=> Array Element내의 index A 부터 index B 전까지 C의 간격으로 배열을 만들어라

를 뜻함.

 

1에 아무것도 없으면 '배열의 첫 번째 부터'를 뜻하고

2에 아무것도 없으면 '배열의 마지막 까지'를 뜻함.

3에 아무것도 없으면 default인 1로 설정.

 

Array[slice(A, B, C)] 와 같은 형태로도 사용할 수 있다.

 

 


예시

    import numpy as np

 

   # 일차원 배열

    arr1 = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8 ,9])

    print(arr1[0:9:3])

        # 결과 : [0 3 6] (index 0부터 index 9 전까지 3의 간격으로 배열 생성)

 

    print(arr1[slice(0, 9, 3])

        # 결과 : 위와 같음

 

    print(arr1[4::2])

        # 결과 : [4 6 8] (index 4부터까지 2의 간격으로 배열 생성)

 

    print(arr1[::-1])

        # 결과 : [9 8 7 6 5 4 3 2 1 0] ( 부터 처음까지 역순으로 배열 생성)

 

    print(arr1[6:1:-2])

        # 결과 : [6 4 2] (index 6 부터 index 1 전까지 역순, 2의 간격으로 배열 생성)

 

 

   # 이차원 배열

    arr2 = np.array([[0, 123], 

                             [4, 567], 

                             [8, 91011]])

    print(arr2[:, 0:3:2])

        # 결과 : [ [0 2] [4 6] [8 10] ] (행(col)을 기준으로, index0부터 index3 전까지 2의 간격으로 배열 생성)

        

    print(arr2[0::2, :])

        # 결과 : [ [0 1 2 3] [8 9 10 11] ] (열(row)을 기준으로, index0부터 까지 2의 간격으로 배열 생성)

 

 

 

 

 

 

 

출처:

    https://docs.python.org/release/2.3.5/whatsnew/section-slices.html

    https://blog.wonkyunglee.io/3

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함