티스토리 뷰

#2 파이썬 chapter 2. 문자열 인덱싱과 슬라이싱

 

인덱싱이란 무엇인가를 '가르킨다'는 의미이고, 슬라이싱은 무엇인가를 '잘라낸다' 라는 의미이다. 

 

*문자열 인덱싱이란?

>>> a="Life is too shrot, you need python"
>>> a[3]
'e'

 

 a[3] 이 뜻하는 것은 a 라는 문자열의 네번째 문자 e를 말한다. 프로그래밍을 처음 접하는 독자라면 a[3]이 왜 네번째 문자를 뜻하는지 의아할 수도 있다. 사실 이 부분이 헷갈릴 수 있는데 이렇게 생각하면 쉽게 알 수 있다.

 

a[0]: 'L', a[1]: 'i', a[2]: 'f', a[3]: 'e',...

 0부터 숫자를 센다는 것이 처음에는 익숙하지 않지만 계속 사용하다 보면 자연스러워질 것이다.

위 예와 같이 a[번호]는 문자열 안의 특정한 값을 뽑아내는 역할을 한다. 이러한 작업을 인덱싱이라고 한다.

 

* 문자열 인덱싱 활용하기

>>> a="Life is too short, you need python"
>>> a[0]
'L'
>>> a[12]
's'
>>> a[-1]
'n'

 앞서 a[0]과 a[12]는 쉽게 이해할 수 있는데 마지막 a[-1]이 뜻하는 것은 뭘까? 

 이것은 문자열을 뒤에서 읽기 위해 마이너스(-) 기호를 붙이는 것이다. 즉 a[-1] 은 뒤에서 세어 첫 번째가 되는 문자를 말한다. a의 값은 "Life is too short, you need python " 문자열이므로 뒤에서 첫번째 문자는 가장 마지막 문자'n' 이다.

 

*문자열 슬라이싱

 

그렇다면 "Life is too short, you need pyton" 문자열에서 단순히 한 문자만을 뽑아내는 것이 아니라 'Life' 또는 'you'와 같은 단어를 뽑아내는 방법은 없을까?

>>> a= "Life is too short, you need python"
>>> b= a[0] + a[1] + a[2] + a[3]
>>> b
'Life'

위 방법처럼 단순하게 접근할 수 있지만 파이썬에서는 더 좋은 방법을 제공한다

 

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

a[0:4]가 뜻하는 것은 a 문자열, 즉 "Life is too short, you need python" 문장에서 자리번호 0부터 4까지의 문자를 뽑아낸다는 것이다.

슬라이싱 기법을 이용하면 a[시작번호:끝 번호] 를 지정할 떄 끝 번호에 해당하는 것은 포함하지 않는다.

예를 들면 0<= a < 3 0 이상 3 미만이라고 생각하면 간단하다.

 

*문자열을 슬라이싱 하는 방법

 

슬라이싱 할 때 항상 시작 번호가 0일 필요는 없다.

>>> a[0:2]
'Li'
>>> a[5:7]
'is'
>>> a[12:17]
'short'

a[시작번호:끝 번호] 에서 끝 번호 부분을 생략하면 시작 번호부터 그 문자열의 끝까지 뽑아낸다.

 

>>> a[19:]
'you need python'

예시와 같이 시작 번호를 생략하면 문자열의  처음부터 끝 번호까지 뽑아낸다.

 

출처 : 점프 투 파이썬

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함