l[start:end:stride]
1. 특정 시작 위치부터 끝까지
l = [1, 2, 3, 4, 5]
print(l[1:])
#출력 결과
#[2, 3, 4, 5]
2. 시작점부터 특정 위치까지
l = [1, 2, 3, 4, 5]
print(l[:2])
#출력 결과
#[1, 2]
3. stride(step) 사용하기
l = [1, 2, 3, 4, 5]
print(l[::2])
#출력 결과
#[1, 3, 5]
4. 전체 가져오기 (리스트 전체를 복사하는 것과 동일, 얕은 복사)
l = [1, 2, 3, 4, 5]
print(l[::])
#출력 결과
#[1, 2, 3, 4, 5]
5. 역순으로 가져오기
l = [1, 2, 3, 4, 5]
print(l[::-1])
#출력 결과
#[5, 4, 3, 2, 1]
stride를 사용해야 한다면 양수 값을 사용하고 start와 end 인덱스 생략하는게 좋음
음수 stride 피하기
stride를 꼭 start나 end 인덱스와 함께 사용해야 한다면
stride를 적용한 결과를 변수에 할당하고 이 변수를 슬라이스한 결과를 다른 변수에 할당해서 사용
참고
https://twpower.github.io/119-python-list-slicing-examples
https://mino-park7.github.io/effective%20python%20study/2018/09/09/betterway6-do-not-use-start-end-stride-simul/