web developer

[python] 문자열 슬라이싱 본문

Language/Python

[python] 문자열 슬라이싱

trueman 2024. 4. 8. 11:40
728x90
728x90

문자열 슬라이싱


String[start:end:step]

start: 부분 문자열의 시작 인덱스입니다. 이 인덱스의 문자는 부분 문자열에 포함됩니다. 시작 인덱스를 생략하면 기본값인 0이 지정됩니다.
end: 부분 문자열의 끝 인덱스입니다. 이 인덱스의 문자는 부분 문자열에 포함되지 않습니다. end가 생략되거나 지정된 값이 문자열 길이를 초과하면 기존 문자열의 길이와 동일하다고 가정합니다.
step: 현재 문자에서 step간격으로 문자를 추출합니다. step을 생략하면 기본값인 1로 설정됩니다.


>>> mystring  = 'hello world'
>>> len(mystring)
11
>>>

다음 코드를 실행하면 11이라는 값이 반환되는데, 이는 ‘hello world’라는 문자열이 총 11개의 글자로 구성돼 있다는 의미입니다. 그런데 왜 10자가 아니라 11자일까요? 그것은 'hello'와 'world'라는 단어 사이에 있는 공백도 하나의 문자로 간주하기 때문입니다.


>>> mystring[0:5]
'hello'
>>>

위 코드를 보면 [0:5]라는 표현을 사용했습니다. [ ]는 슬라이싱할 범위를 지정할 때 사용하는 기호이며, 0은 시작 위치를, 5는 끝 위치를 의미합니다. 시작과 끝을 구분하기 위해 그 사이에 콜론(:)을 사용 합니다.


>>> mystring[6:]
'world'
>>>

끝값을 생략해서 이와 같이 작성할 수 있습니다.


>>> mystring[6:-1]
'worl'
>>>

파이썬의 문자열 인덱싱에서 인덱스 값으로 양수만이 아니라 음수를 사용할 수도 있습니다. 인덱스 값이 음수인 경우에는 문자열의 뒤쪽부터 역순으로 글자를 셉니다.


출처 : https://wikidocs.net/2838

728x90
728x90