기억 저장소

클라우드 기반 인공지능 개발과 DevOps 실무

언어/python

Python파이썬 리스트 콜론, [ : ] 슬라이싱 ( List Slicing )

하늘.98 2021. 11. 15. 16:37

리스트에서 원하는 부분을 추출(슬라이싱) 하기

 

파이썬 리스트(python list)에서 원하는 부분을 추출(슬라이싱) 하기 위해서는 인덱스의 숫자를 적어준다.

다음 예제를 보면, 콜론  :  앞과 뒤에 숫자를 써준다.

앞에 써주는 숫자는, 시작 인덱스(오프셋 offset) 를 나타낸다.

뒤에 써주는 숫자는, 우리가 추출을 끝내려는 인덱스에 1을 더해준 값을 써주면 된다.

 

중요!

콜론 왼쪽 숫자 = 우리가 추출하기 원하는 시작 인덱스 

콜론 오른쪽에 써주는 숫자 = 우리가 추출하기 원하는 끝 인덱스 + 1 

 

아래에서 Monday이 오프셋(인덱스)은 0, Thuesday는 1, Wednesday는 2, Thursday는 3, Friday는 4 이다.

따라서 week[2:5] 란?  week 2인 Wednesday 부터,  5 - 1 = 4 즉, 4는 Friday 이므로 

['Wednesday', 'Thursday', 'Friday'] 가 된다.

위에서 Nested List (중첩 리스트)에서도 원하는 값을 슬라이싱 (Slicing) 할 수 있다.

6과 7을 가져오기 위해서,

먼저 my_list[1] 로 접근하면, [ 3, 6, 7 ] 이 되고,

여기서 6과 7만 가져와야 하므로, 6은 인덱스가 1이고, 7은 인덱스가 2 이므로, 

시작인덱스는 1 , 끝 인덱스는 2 + 1 = 3 으로 써주면 => my_list[ 1 ][ 1 : 3 ] 이렇게 된다.

 

슬라이싱(추출) 문법은 다음과 같다. Nested List 예제도 포함.

  • [:] 처음부터 끝까지
  • [start:] start오프셋(인덱스)부터 끝까지
  • [:end] 처음부터 end-1 오프셋(인덱스)까지 
  • [start : end] start오프셋부터 end-1 오프셋(인덱스)까지
  • [start : end : step] step만큼 문자를 건너뛰면서, 위와 동일하게 추출