더북(TheBook)

이 문법을 사용하여 var를 2번째 문자부터 9번째 문자까지 슬라이싱해 보겠습니다.

> print(var[1:9])
23456789

자세히 보면 뭔가 이상하다는 생각이 듭니다. 우리는 2번째 문자부터 9번째 문자까지 슬라이싱하는 것을 원했으므로 var[2:9]라고 해야 할 것 같은데, var[1:9]가 정상적으로 실행되었음을 알 수 있습니다. 그럼 var[2:9]의 출력 결과는 어떻게 될까요?

> print(var[2:9])
3456789

var[1:9] 코드가 2번째 문자부터 정상적으로 슬라이싱할 수 있었던 이유는 파이썬에서 순서를 매길 때(인덱싱)는 0부터 시작하기 때문입니다.

무슨 의미냐면 다음 문자에서 1이 1번째고 2가 2번째라고 생각하기 쉽지만 파이썬은 1을 0번째 문자, 2를 1번째, 그리고 9를 8번째 문자로 인식합니다.

var = "1234567890"

따라서 우리 눈에 2번째 문자인 2는 컴퓨터 기준으로는 1번째이므로 2부터 자르고자 한다면 컴퓨터가 알아들을 수 있도록 ‘1번째부터’라고 알려 주어야 합니다. 이렇게 컴퓨터와 우리가 사용하는 순서 매김 방식에 차이가 있다고 이해하기 바랍니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.