a 라는 연속적인 객체인 자료구조(리스트, 튜플, 문자열...)가가 있다고 가정했을때.
a[start : end : step]
a = [1, 2, 3, 4, 5]
print(a[1:]) # [2, 3, 4, 5]
print(a[3:]) # [4, 5]
print(a[-3:]) # [3, 4, 5]
a = [1, 2, 3, 4, 5]
print(a[:3]) # [1, 2, 3]
print(a[:-3]) # [1, 2]
a = [1, 2, 3, 4, 5]
print(a[2:4]) # [3, 4]
print(a[-4:-2]) # [2, 3]
a = [1, 2, 3, 4, 5]
# 오른쪽으로 step만큼 이동하면서 가져온다.
print(a[::2]) # [1, 3, 5]
print(a[-4::2]) # [2, 4]
a = [1, 2, 3, 4, 5]
# 왼쪽으로 step만큼 이동하면서 가져온다.
print(a[::-1]) # [5, 4, 3, 2, 1]
print(a[::-2]) # [5, 3, 1]
a = [1, 2, 3, 4, 5]
print(a[5:1:-1]) # [5, 4, 3]
print(a[3::-1]) # [4, 3, 2, 1]
이렇게 거꾸로 출력할 때에는 start, end 값도 왼쪽위치 값부터 입력해저야 한다.