파이썬 슬라이싱

(2025-09-28)

슬라이싱


1. 파이썬 슬라이싱 (Python Slicing)

  ㅇ 순서가 중요한, 시퀀스 자료형(문자열 str, 리스트 list, 튜플 tuple 등)에서, 
     - 범위를 지정해 부분을 추출하거나, 새 객체를 만들어내는 방법.


2. 파이썬 슬라이싱 방법

  ㅇ (형식)  seqObj[start : end : step]  
     - (단, start 포함 됨, end 포함 안함)
  ㅇ (순서)  [정방향] 0, 1, 2, ... [역방향] ..., -3, -2, -1
  ㅇ (반환)  새로운 객체(list, str, tuple 등)를 반환
     - 참조(reference)가 아닌 복사(copy) 효과를 내므로, 원본 변경에 영향 없음
  ㅇ (특징)
     - for문, while문으로 하나씩 접근하는 것 보다, 내부적으로 빠르게 동작
     - 슬라이싱만으로 뒤집기, 건너뛰기, 복사 등 다양한 작업 가능


3. 파이썬 슬라이싱 예시

  ㅇ 기본 예시) 
     - seqObj[::1],seqObj[:],seqObj[0:]  =>  기본 동일 (사본 리턴)
     - seqObj[::-1]  =>  뒤집음
     - seqObj[::2]  =>  2칸씩 건너뛰며 이동 추출
     - seqObj[0]  =>  첫번째 문자 만 추출
     - seqObj[-1]  =>  마지막 문자 (뒤에서 첫번째) 만 추출
     - seqObj[:-2]  =>  (처음) ~ (뒤에서 2번째)까지 추출
     - seqObj[-2:]  =>  (뒤에서 2번째) ~ (마지막)까지 추출
     - seqObj[2:] : (앞 3번째) ~ (마지막)까지 추출

  ㅇ 응용 예시) 
     - l = [1,2,3,4,5]
        . l[3:]  =>  [4,5];  l[1:4:2]  =>  [2,4];  l[:3]  =>  [1,2,3]; 
        . l[::2]  =>  [1,3,5]  (처음부터 끝까지, 2칸 간격)
        . l[::-1]  =>  [5,4,3,2,1]  (리스트 뒤집기)
        . l[1:-1]  =>  [2,3,4]  (처음과 끝을 제외한 부분)
        . l[-3:]  =>  [3,4,5]  (뒤에서 3번째부터 끝까지)
        . l[:-2])  =>  [1, 2, 3]  (처음부터 뒤에서 2번째 전까지)
        . l[1:5:3]  =>  [2,5]  (인덱스 1에서 시작해 3칸씩 건너뛰며)
        . l[2:2]  =>  []  (시작과 끝이 같으면 빈 리스트)

     - s = "abcdefg"  (문자열)
        . s[1:6:2]  =>  "bdf"
        . s[-5:-1]  =>  "cdef"

     - t = (10,20,30,40,50)  튜플
        . t[::2]  =>  (10,30,50)
        . t[::-1]  =>  (50,40,30,20,10)

     - m = [[1,2,3], [4,5,6], [7,8,9]]  (다차원 리스트)
        . m[0][:2]  =>  [1,2]  (첫 번째 행에서 앞 2개만)
        . [row[1] for row in m]  =>  [2,5,8]  (차원마다 1열 추출)

파이썬 활용
1. 파이썬 사용 예   2. 파이썬 슬라이싱   3. 파이썬 정규표현식   4. 파이썬 파일 처리   5. 파이썬 순열 구현   6. 파이썬 응용  
용어해설 종합 (단일 페이지 형태)

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]