":"은 파이썬에서 슬라이싱 연산자입니다.
이 연산자를 사용함으로써 리스트, 문자열, 튜플 등 시퀀스 타입의 객체에서 일부를 추출할 수 있습니다.
start: 추출을 시작할 인덱스 번호 (일반적으로 생략 가능)
end: 추출을 끝낼 인덱스 번호 (일반적으로 생략 가능)
step: 추출할 인덱스의 간격 (일반적으로 생략 가능)
start, end, step 중 하나 이상을 생략할 수 있습니다.
생략된 경우 각각에 대해서는 다음과 같은 기본값이 적용됩니다.
start: 0
end: 시퀀스 길이
step: 1
슬라이싱 연산자의 일반적인 사용법은 다음과 같습니다.
seq[start:end:step]
s[start:end] # start 번호부터 end-1 번호까지의 값 추출
s[start:] # start 번호부터 끝까지 추출
s[:end] # 처음부터 end-1 번호까지 추출
s[start:end:step] # start번호부터 end-1 번호까지 step 간격으로 추출 (step 생략 가능)
예시
stack = [1, 2, 3, 4, 5, 6] 일 때, stack[-4:]
start가 생략되었습니다. 따라서 기본값인 -len(stack) 즉 -6이 start값으로 지정됩니다.
: 뒤에 값이 생략되었으므로 end에 대한 값은 따로 지정되지 않았습니다.
따라서 end는 기본값인 len(stack) 즉 6이 됩니다. 따라서 stack[-4:]는 stack[-4:len(stack)]과 같습니다.
뒤에서 4번째 원소부터 마지막 원소까지를 슬라이싱해서 stack[-4:]는 [3, 4, 5, 6]이 됩니다.