Sequence의 첫 번째 요소를 가르키는 index는 0번이며, 오른쪽 방향으로 갈수록 1씩 증가하는 index가 부여된다. 반대로, 마지막 번째 요소를 가르키는 index는 -1번이다. 왼쪽 방향으로 갈수록 1씩 감소하는 인덱스가 부여되는 형태다. 요소마다 양수 인덱스와 음수 인덱스를 둘 다 가진다고 할 수 있다.
l = [
1, # 0번 및 -3번 인덱스
2, # 1번 및 -2번 인덱스
3 # 2번 및 -1번 인덱스
]
이를 통해 Sequence의 맨 뒤를 기준으로 요소에 접근할 수 있다. 다음은 음수 인덱스를 사용한 예다.
l = [1, 2, 3, 4, 5]
print(l[-1])
print(l[-3])
결과
5
3
음수 인덱스는 Slicing에서도 사용할 수 있다.
l = [1, 2, 3, 4, 5]
print(l[-3:4])
print(l[1:-1])
print(l[-5:-1])
결과
[3, 4]
[2, 3, 4]
[1, 2, 3, 4]
다음 코드의 실행 결과를 예상해보자.
l = [1, 2, 3, 4, 5]
print(l[-1])
print(l[-3])
다음 코드의 실행 결과를 예상해보자.
l = [1, 2, 3, 4, 5]
print(l[0:-1])
print(l[1:-2])
print(l[-5:4])
print(l[-4:-3])