그림 2-1은 N이 문자열의 길이라고 했을 때 양수 인덱스가 0부터 N-1까지 설정되는 것을 알 수 있으며, 음수 인덱스는 -1(마지막 문자를 가리킴)부터 -N의 역순으로 설정된다.
▲ 그림 2-1 파이썬의 문자열 인덱스
불변성 외에도 문자열과 리스트는 또 다른 점이 있다. 범위에서 벗어나지 않는 인덱스를 사용한다고 가정했을 때 리스트 인덱싱은 다양한 타입으로 구성된 항목을 반환할 수 있는 반면, 문자열 인덱싱은 항상 1개의 문자를 반환한다는 점이다. 이 1개의 문자 역시 str 타입이다. 여러 문자로 구성된 문자열처럼 말이다.
예를 들어 ‘안녕하세요’의 첫 문자를 구하면 ‘안’이다. 길이가 1일지라도 여전히 문자열이다.
s = '안녕하세요'
ch = s[0]
print(type(ch))