Recent Posts

파이썬 문자열 인덱싱해보기



안녕하세요 주니입니다.


파이썬 문자열은 각 문자에 대한 index를 가집니다.
이 index를 이용하면 한 문자를 참조할 수 있습니다.
index로 부분 문자열을 자를 수도 있습니다.
파이썬에서 어떻게 index로 문자열을 다룰 수 있는지 알아보도록 하겠습니다.




문자열 인덱스



문자열은 연속된 문자들로 구성됩니다.
각 문자들은 인덱스를 가지고 있습니다.
인덱스들을 이용하여 한 문자 또는 부분 문자열을 참조할 수 있습니다.


인덱스는 0부터 시작해서 문자열의 길이-1의 범위를 가집니다. 
예를 들면, 'hello'라는 문자열은 0부터 4의 범위를 가집니다.






문자 인덱싱


인덱싱은 "대괄호(square brackets) [ ]"를 이용합니다.
대괄호 안에 인덱스를 넣으면 해당 인덱스의 문자를 참조합니다.
예제로 확인해보겠습니다.



str = "hello"

index = 0
length = len(str)

while(index < length):
    print(str[index])
    index += 1



str이라는 변수에 "hello" 문자열을 할당합니다.
index라는 변수를 0으로 초기화했습니다.
length 변수에 len 함수를 이용하여 str 문자열의 길이를 할당했습니다.
while 문을 이용해서 index 가 length 보다 작을 때까지 반복합니다.
str[index]로 각 문자를 참조하여 print 합니다.


while 문과 같은 문법 요소는 추후에 다룰 것이니 잘 모르더라도 넘어가도 좋습니다.


python character indexing








문자열 인덱싱


문자열의 부분 문자열을 인덱싱 할 수 있습니다.
대 괄호 안에 ':' 문자의 전후로 인덱싱 할 문자열의 처음 index와 마지막 index를 넣습니다.
예를 들면, 문자열[처음 index : 마지막 index]의 형태가 됩니다.


"hello python"이라는 문자열이 있습니다.
"python"이라는 부분 문자열을 인덱싱을 하여 참조할 수 있습니다.
"p" 문자의 인덱스는 6, "n"문자의 인덱스는 12입니다.
string[6:12]와 같이 부분 문자열을 인덱싱 할 수 있습니다.


한번 코드로 확인해보겠습니다.


str = "hello python"

print(str[6:12])



str이라는 변수에 "hello python" 문자열을 할당했습니다.
str[6:12]로 인덱싱하여 print 했습니다.

python string indexing





"python" 문자열이 정확히 출력됐습니다.

인덱싱 괄호에서 마지막 문자의 인덱스를 마지막 index인 11이 아닌 12를 입력했습니다.
그 이유는 인덱싱을 할 때 마지막 인덱스는 포함이 되지 않습니다. 

부등식으로 표현을 한다면, start <= index < end로 표현할 수 있습니다.


시작 인덱스를 생략하면, 시작 인덱스는 0을 의미하게 됩니다.
마지막 인덱스를 생략하면 문자열의 마지막 인덱스를 포함합니다.
예를 들면 [:], [:n], [n:] 이런 식으로 사용이 가능합니다.


코드로 확인하고 마무리하도록 하겠습니다.



str = "hello python"

print(str[:])
print(str[6:])
print(str[:5])



str 변수에 "hello python" 문자열을 할당합니다.
첫 번째 print에서 시작과 마지막 인덱스를 모두 생략했습니다.
두 번째는 마지막 인덱스를 생략했습니다.
세 번째는 시작 인덱스를 생략했습니다.


python string indexing no range




첫 번째는 모든 문자열이 출력됐습니다.
두 번째는 6번째 문자부터 마지막 문자까지 출력이 됐습니다.
세 번째는 처음부터 4번째 문자까지 출력이 됐습니다.







파이썬 문자열 인덱싱해보기 파이썬 문자열 인덱싱해보기 Reviewed by Juny on 7월 12, 2019 Rating: 5

댓글 없음:

Powered by Blogger.