슬라이싱 (Slicing)

hyyyynjn·2021년 4월 28일
0

python 정리

목록 보기
1/26
post-thumbnail

슬라이싱

시퀀스 객체(list, tuple, 문자열)에 범위를 지정하여 잘라내는 것

기본 형태

a[start:end:step]
  • a : 시퀀스 객체 (list, tuple, 문자열)
  • start : 슬라이싱 시작 위치
  • end : 슬라이싱을 끝낼 위치 (✅end는 포함하지 않는다)
  • step : step씩 끊어서 슬라이싱한다 (step은 0이 될 수 없다)

👉 start, end, step 값은 양수, 음수를 가질 수 있다

a = ['a', 'b', 'c', 'd', 'e']
abcde
양수01234
음수-5-4-3-2-1

예제

✋a[start:]

a[ 0 : ] # ['a', 'b', 'c', 'd', 'e']
a[ 1 : ] # ['b', 'c', 'd', 'e']
a[ 2 : ] # ['c', 'd', 'e']
a[ 3 : ] # ['d', 'e']
a[ 4 : ] # ['e']
a[ -1 : ] # ['e']
a[ -2 : ] # ['d', 'e']
a[ -3 : ] # ['c', 'd', 'e']
a[ -4 : ] # ['b', 'c', 'd', 'e']
a[ -5 : ] # ['a', 'b', 'c', 'd', 'e']

✋a[:end]

 a[  : 2 ] # ['a', 'b']
 a[  : -1 ] # ['a', 'b', 'c', 'd']

✋a[start:end]

 a[ 2 : 4 ] # ['c', 'd']
 a[ -4 : -2 ] # ['b', 'c']
 a[ -4 : -1 ] #  ['b', 'c', 'd']
 a[ 3 : 0 : -1] # ['d', 'c', 'b'] 인덱스 1 ~ 3까지의 값을 거꾸로 가져오기

✋a[start:end:step]

  • step이 양수이면 👉 오른쪽으로 step만큼 이동하면서 가져온다
  • step이 음수이면 👉 왼쪽으로 step만큼 이동하면서 가져온다
 a[::] # ['a', 'b', 'c', 'd', 'e']
 a[ : : 2 ] # ['a', 'c', 'e'] 2칸씩 이동하면서 가져온다
 a[ -5 : : 3 ] # ['a', 'd'] 3칸씩 이동하면서 가져온다
 a[ : : -1 ] # ['e', 'd', 'c', 'b', 'a'] 전체를 거꾸로 가져온다
 a[ 3 : : -1 ] # ['d', 'c', 'b', 'a']

✅end는 슬라이싱에 포함되지 않는다


0개의 댓글