더북(TheBook)

다른 예제를 살펴보자. “The Bad Dog”의 두 번째 단어인 “Bad”를 추출한다고 가정해 보자. 그림 2-3은 인덱스 4부터 인덱스 7 전까지 포함한 문자열을 반환하는 과정을 설명하고 있다. “Bad”는 string[4:7]로 확보할 수 있다.

▲ 그림 2-3 문자열 슬라이싱 예제 2

흥미로운 슬라이싱 규칙 몇 가지를 살펴보자.

begend가 모두 양수 인덱스면 end-beg는 자른 문자열의 최대 길이를 반환한다.

처음부터 N번째 문자까지 확보하고 싶다면 string[:N]을 사용한다.

끝에서 마지막 N번째 문자까지 확보하고 싶다면 string[-N:]을 사용한다.

문자열 전체를 복사하려면 string[:]을 사용한다.

슬라이싱은 선택 사항으로 세 번째 인수인 step 인수를 허용한다. 양수라면 문자열을 반환할 때 각 항목의 간격을 명시할 수 있다. step 인수가 2면 매번 한 항목을 건너뛴다. step 인수 3은 매번 2개의 항목을 건너뛰어서 세 번째 문자를 반환하라는 의미다. 가령 다음 코드는 'RoboCop'의 두 번째 문자부터 간격이 2인 문자들을 반환한다.

a_str = 'RoboCop'
b_str = a_str[1::2]    # 문자 간격이 2인 문자들을 반환한다.
print(b_str)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.