[Python] - 리스트 인덱스 슬라이싱
in Python on Python, List, Index, Slicing
python에서 list를 슬라이싱(slicing)하는 방법을 살펴보자
a[start:end:step]
a = [a, b, c, d, e]
# | a| b| c| d| e|
# | 0| 1| 2| 3| 4|
# |-5|-4|-3|-2|-1|
기본적으로 start, end, step으로 구성되며 양수와 음수로 나눠진다
- 양수 : 제일 앞부터 0으로 시작하여 번호를 센다
- 음수 : 제일 뒤부터 -1로 시작하여 번호를 센다
- start : 시작 위치, 0부터 시작한다
>>> a = ['a', 'b', 'c']
>>> a[ 1 : ]
['b', 'c']
- end : 마지막 위치 , end는 포함하지 않는다
>>> a = ['a', 'b', 'c']
>>> a[ : 2 ]
['a', 'b']
- step : 몇 개씩 가져올지 단계 (옵션)
>>> a = ['a', 'b', 'c', 'd']
# 2칸씩 이동하면서 가져온다.
>>> a[ : : 2 ]
['a', 'c']
# 전체를 거꾸로 가져온다.
>>> a[ : : -1]
['d', 'c', 'b', 'a']
# 시작점이 -3인곳에서부터 끝점 모두 2칸씩 띄어서 가져온다.
>>> a[-3: : 2]
['b', 'd']
주의할 점은 a[0:3] 하면 [a,b,c]만 가져온다. 즉 end인 인덱스 3번은 가져오지 않는다.