본문 바로가기

python/python 기초

python 공부 문자열 인덱싱과 슬라이싱

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

자열의 인덱싱과 슬라이싱에대해 공부해봤습니다.


인덱싱(indexing) = 가르키다 라는 뜻이라네요

슬라이싱(slicing) = 잘라내다 라는 뜻이군요.

먼지 a라는 변수안에 Hello Python!을 넣어보도록하겠습니다.

a = "Hello Python!"


먼저 인덱싱입니다.

a[0] 을 하게되면 a 변수에 0번째 문자를 가르키라는 말입니다.

이렇게 a변수안에 0번째를 가르치는것은 H네요. 

C언어의 배열과 같네요 

이해가 안가시는분들을위해 자세히 설명드리겠습니다.


print(a[0])  = "H"

print(a[1])  = "e"

print(a[2])  = "l"

print(a[3])  = "l"

print(a[4])  = "o"

print(a[5])  = "w"

print(a[6])  = " "

print(a[7])  = "P"

print(a[8])  = "y"

print(a[9])  = "t"

print(a[10]) = "h"

print(a[11]) = "o"

print(a[12]) = "n"

print(a[13]) = "!"

파이썬이던 C언어던 1부터가아닌 0부터 가르킵니다.

여기서 a[-1] 이하면 a[13] 에있는 "!" 가 왜나오냐면 '-' 가붙으면 뒤에서부터 숫자를 세갯다는 말입니다.

그러면 a[-3] 을하면 무엇이나올까요?

바로 뒤에서 3번째인 "o" 가나옵니다.

응용해서 a = "Hellow Python!" 인데 

뒤에 "Python!"은 필요없고 앞에 "Hellow" 만뽑고 싶을떄는 이렇게하면됩니다.

b = a[0] + a[1] + a[2] + a[3] + a[4] + a[5]

b 라는 변수안에 a[0] 번쨰를 가르키는 "H" ... a[5]  "w" 이런식으로 이어 b에 넣겟다는 말입니다.

하지만 이렇게 해서 숫자가 커지면 힘들어지니 간단한 방법은 슬라이싱입니다.

a[0:5]

a[시작번호:끝번호] 를 가르키는데 왜 5번째인 "w"는 안나오고 4번째인 "o" 까지 나왓냐면

수식으로 따지면 이렇답니다

0 <= a < 4 

그렇기떄문에 마지막번호에 +1 을더해서

a[0:6] 을 해야지 원하는 단어를 얻을수있습니다.

슬라이싱은 이런곳에 많이 사용된다합니다.

a = "20150227cold"

day = a[:8]   // 첫번호를 쓰지않은이유는 처음부터 8까지 자르겟다는말입니다.

weather = a[8:] 

이런식으로 필요할떄마다 짜를수잇습니다.


wikidocs에서 공부하면서 포스팅하는것입니다.

잘못된 부분이있으면 댓글로 알려주세요.







'python > python 기초' 카테고리의 다른 글

python 공부 문자열 함수들  (0) 2015.02.27
python 공부 문자열 포매팅  (0) 2015.02.27
python 공부 문자열 연산  (0) 2015.02.26
python 공부 문자열  (0) 2015.02.26
python 공부 자료형  (0) 2015.02.26