코드 한 줄

[Solution] 파이썬 문자열 슬라이싱 본문

Develop -/Python

[Solution] 파이썬 문자열 슬라이싱

Ahntenna 2018. 3. 26. 15:39

사용자 환경 : macOS Sierra 10.12.6Python 3.6.4PyCharm 2017.3.4 build PC-173.4674.37.






인덱싱에서는 문자열 중에서 어느 위치에 있는 문자를 뽑아낼 때 사용했다.



그렇다면 파이썬 문자열 인덱싱에 대해 다룬 게시글에서 사용했던 예제인 "Life is too short, You need Python"이라는 문자열에서



단순히 한 문자만을 뽑아내는 것이 아니라 "Life" 또는 "You" 같은 단어들을 뽑아내는 방법은 없을까?



다음과 같이 슬라이싱 기법을 이용하면 간단하게 처리할 수 있다.



>>> a = "Life is too short, You need Python"
>>> a[0:4]
'Life'



눈치가 빠른 사람들은 이미 알겠지만, a[0:4]가 뜻하는 것은 문자열 a에서 0부터 4까지의 문자 즉, 첫 번째부터 다섯 번째까지 뽑아낸다.



여기서 다음과 같은 의문이 생길 것이다. a[0]은 'L'이고, a[3]은 'e'니까 a[0:3]으로도 'Life'를 뽑아낼 수 있지 않을까?



>>> a[0:3]
'Lif'



이렇게 되는 이유는 간단하다. a[시작 번호:끝 번호]를 지정하면 끝 번호에 해당하는 인덱스는 포함되지 않기 때문이다.



시작 번호가 항상 0일 필요는 없고, 끝 번호를 생략하면 시작 번호부터 문자열의 끝까지, 시작 번호를 생략하면 문자열의 처음부터 끝 번호까지 뽑아낸다.



의미는 없겠지만 시작 번호와 끝 번호를 모두 생략하면 문자열 전체를 뽑아내고, 인덱싱과 마찬가지로 마이너스 기호를 사용할 수도 있다.



간단한 예제로 다음과 같은 날짜를 나타내는 문자열에서 년, 월, 일을 뽑아내보자.



>>> a = "20180326"
>>> year = a[:4]
>>> month = a[4:6]
>>> day = a[6:8]
>>> year
'2018'
>>> month
'03'
>>> day
'26'






Comments