본문 바로가기
파이썬/파이썬 기본 문법

[파이썬 자료형] String 문자열 (인덱싱, 슬라이싱)

by Nov19 2018. 12. 5.
반응형


[파이썬 자료형] String 문자열 (인덱싱, 슬라이싱)


문자열 인덱싱

파이썬의 문자열은 순서가 있는 자료형이다. 

문자열 "python" 은 다음과 같은 형태로 순서를 갖는다.


p -> y -> t -> h -> o -> n

0    1    2    3     4    5


문자열 "python"에서 3번째 글자는 h인 것이다.

파이썬에서는 첫번째를 나타내는 숫자는 0이다.

p는 0번째, y는 1번째, t는 2번째 이렇게 생각하는 것이 쉽다.

왜 0부터인가? 이 질문을 해결하느니 그냥 0부터 이구나 하면 삶이 편해진다.

이렇게 순서가 있는 문자열에서 어떠한 문자를 하나 가리키는 것을 인덱싱이라고 한다.


문자열 인덱싱은 문자열옆에 대괄호[ ]를 쓰고 대괄호안에 가리킬 번호를 쓰면 된다.

문자열[번호]

"python"[1] 는 y를 가리킨다.




뒤에 다루겠지만 변수라는 것이 있다. 이 변수에는 자료형을 담을 수 있는 그릇과 같은 역할을 한다.

a = "python"

"python"이라는 문자열을 a라는 변수에 담았다. 다시 말해 a는 "python"이라는 문자열을 갖고 있다.

a로 인덱싱을 하는 것 또한 같다.



또한 인덱스 번호로 -1을 주면 이는 뒤에서 첫번째라는 의미를 갖는다.

a[-1] 은 뒤에서 첫번째 즉 가장 마지막 문자인 n 이다.



문자열 슬라이싱

인덱스가 하나의 문자를 선택한다면 슬라이싱은 여러문자를 한번에 선택할 수 있는 기능이다.

a = "abcdefghijklmnopqrstuvwxyz" 

여기서 여러문자를 선택하려면 a[시작번호 : 끝번호]로 슬라이싱 하면 된다.

abc를 선택하려면 a[0:3]이다.

시작번호는 말그대로 시작번호의 인덱스이다. 

a는 0번째 문자이니 시작번호는 0이다. 그런데 끝번호는 3이다. 

사실 끝번호가 아니라 끝번호라 쓰지만 그 번호의 앞번호라고 생각하는 것이 좋다. 

그럼 왜 끝번호는 끝번호를 쓰지 않고 끝번호+1한 값을 쓸까? 그냥 그렇구나 하면 세상이 편해진다.



슬라이싱은 어느 위치든 상관없고 -1과 같은 뒤에서부터 순서를 써도 된다.

시작번호를 비워두면 이는 처음부터라는 의미이고 끝번호를 비워두면 끝까지라는 의미이다.

둘다 비우면 당연히 처음부터 끝까지라는 의미이다.




반응형

댓글