본문 바로가기
  • 시 쓰는 개발자
프로그래밍 문법/Python 문법

파이썬 슬라이싱

by poetDeveloper 2024. 3. 7.

슬라이싱

파이썬 slicing은 "iterable한 객체" 모두를 다룰 수 있다. 따라서 리스트, 튜플, 문자열 같은 것들을 다룰 수 있다.

 

1. 구조 : a[start : end : step]

  • start: 슬라이싱 시작위치. 주의할 것은 이때 start가 의미하는 것은 index번호이다. 따라서 a[3:5]면 3번째 숫자부터 자르는 것이 아니라, 인덱스 3부터 가져오는 것이므로 실제로는 4번째 숫자부터 슬라이싱을 한다.
  • end: 슬라이싱이 끝나는 위치인데, for문의 range처럼 end는 포함하지 않기 때문에 슬라이싱은 end-1까지 잘라짐
  • step: 몇개씩 끊어서 가져올지, 그리고 방향을 정한다.
  • ex1. start부터 끝까지 가져오기
    a[start:]
  • ex2. 맨 처음부터 end-1까지 가져오기
    a[:end]
  • ex3. start부터 end-1까지 가져오기
    a[start:end]

 

2. step이 있을 때

step이 양수(+) : 오른쪽으로 step만큼 이동하면서 가져온다.
step이 음수(-) : 왼쪽으로 step만큼 이동하면서 가져온다.

<예시>

a = ['a', 'b', 'c', 'd', 'e']
a[::2] # 처음부터 끝까지 2칸씩 이동하면서 슬라이싱
# 출력 : ['a', 'c', 'e']


a = ['a', 'b', 'c', 'd', 'e']
a[ -5 : : 3 ] # -5번째부터 시작해서 오른쪽으로 3칸씩 이동하면서 슬라이싱
# 출력 : ['a', 'd']


a = ['a', 'b', 'c', 'd', 'e']
a[3::-1 ] # 인덱스 3부터(그러므로 4번째 숫자부터) 끝까지 왼쪽으로 1칸씩 이동하며 슬라이싱
# 출력 : ['d', 'c', 'b', 'a']


# <순서만 역으로 해서 정렬할 때 자주 쓰는 표현>
a = ['a', 'b', 'c', 'd', 'e']
a[::-1] # 전체를 거꾸로 가져옵니다.
# 출력 : ['e', 'd', 'c', 'b', 'a']

 

'프로그래밍 문법 > Python 문법' 카테고리의 다른 글

리스트 복사 하는 방법  (0) 2024.03.07
dictionary에서 key 다루기  (0) 2024.03.07
2차원 리스트 정렬하기  (0) 2024.03.07
문자열 replace  (1) 2024.03.07
숫자인 숫자, 문자인 숫자  (0) 2024.03.07