파이썬 문제를 풀거나 정보를 찾아보면 [a:b]이런식으로 있는게 있다. 찾아보니까 공부할 만 해서 적어본다.
슬라이싱(Slicing)이란 연속적인 객체들에(ex:리스트,튜플,문자열) 범위를 지정해 선택해서 객체들을 가져오는 방법 및 표기법을 의미한다. 이때 슬라이싱을 하면 새로운 객체를 생성하게 된다.
lst[start:end:step]
형태는 위와 같은데 모두 양수와 음수를 가질수 있다.
start: 슬라이싱을 시작할 위치
end: 슬라이싱을 끝낼위치인데 end의 숫자는 포함하지않는다.
step: 몇개씩 끊어서 가져올지와 방향을 정한다. 생략할 경우 1단위가 된다.
양수는 객체의 제일 앞에서부터 0을 시작으로 뒤로가면서 증가하면서 번호를 매긴다.
음수는 반대로 제일 뒤에서부터 -1을 시작으로 앞으로 가며 번호를 매긴다
a = [1,2,3,4,5]
양수|0|1|2|3|4|
음수|-5|-4|-3|-2|-1|
기타 사용법은
a = [1,2,3,4,5,6,7]
a[1:3] #[2,3]
a[5:] #[6,7]
a[:5] #[1,2,3,4,5]
a[:] #[1,2,3,4,5,6,7]
a[5:-1] #[6] end값 -1은 포함하지 않는다
a[::2] #[1,3,5,7]
a[1:-1:3] #[2,5]
a[::-1] #[7,6,5,4,3,2,1]
a[5:1:-2] #[6,4]
슬라이싱을 사용하는 이유는 일관성,간편함,가독성,유연성,성능 등이 있는데 데이터 조작 및 가공에 매우 유용하고 슬라이싱은 매우 효울적으로 구현되어 있어서 데이터의 부분 집합을 추출할 때 빠르게 작동한다.
읽어주셔서 감사합니다.