문자열의 인덱싱과 슬라이싱에대해 공부해봤습니다.
인덱싱(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 |