본문 바로가기
Python/Python FAQ

Python 파이썬 문자열 슬라이싱, string 나누기, 자르기

by 베타코드 2022. 1. 6.
반응형

안녕하세요 독학코딩입니다. 오늘은 파이썬의 문자열을 다루는 방법에 대해서 배워보겠습니다. 보통은 입력받은 문자열을 나누거나 일부분만 쓰거나 하는 경우가 많으니 문자열 슬라이싱을 설명해드리겠습니다.

 

파이썬에서 String을 문자열이라고 하는것은 문자이긴 한데 열 즉, array로도 다룰 수 있기 때문입니다. 쉽게 말해 파이썬은 String을 문자의 나열로 인식하는 것입니다. 그래서 String에서도 list를 다루는 방식을 대부분 사용할 수 있습니다.

이 예제는 python 3.9를 기준으로 작성되었습니다.

 

Python 문자열 슬라이싱

  • Python 문자열 한 글자만
stringA = "0123456789" 
print(stringA[8])
# print(stringA[x])

 

위에서도 설명했듯이 string 자체도 list처럼 다룰 수 있습니다. 문자열에서 특정 순서의 문자를 원하면 print(stringA[x]) 처럼 문자열 뒤에 [x] 를 더해서 특정 x번째 문자만 출력할 수 있습니다. 여기서 유의하실 것은 list와 똑같이 string의 첫 번째 문자는 0번째입니다. 즉, [0] 으로 출력하는 것입니다.

 

  • Python 문자열 원하는 범위 글자만
print(stringA[2:5])

원하는 범위만 출력하고 싶다면 [2:5]와 같이 범위를 설정해주시면 됩니다. 유의하실 점은 5번째 까지 출력되는 게 아니라 바로 그 전까지만 출력된다는 점입니다.

 

  • Python 문자열 처음부터 원하는 범위까지
print(stringA[0:4])
print(stringA[:4])

 

처음부터 원하는 범위까지는 바로 위의 예제와 거의 동일합니다. [0:4] 로 하시면 됩니다. 하지만 [:4] 이렇게도 가능하니 굳이 0을 쓰실 필요는 없습니다.

 

  • Python 문자열 원하는 곳부터 끝까지
print(stringA[4:10])
print(stringA[4:])

 

이 것도 같은 위와 같은 원리이긴 합니다. 다만 보통은 끝이 몇 번째까지 있는 경우가 있으니 print(stringA[4:10]) 같이 사용하는 경우는 거의 없습니다. print(stringA[4:])가 일반적입니다.

 

 

Python 문자열 슬라이싱 음수

Python 문자열 슬라이싱은 음수로도 가능합니다. 보통 문자열의 끝부분을 다룰 때 많이 사용합니다. 즉 문자열의 순서를 뒤에서부터 셀 수 있는 방법입니다.

 

  • Python 문자열 뒤에서 x번째
print(stringA[-2])
print(stringA[-x])

 

문자열을 뒤에서 출력하고 싶으면 간단하게 -를 붙여주시면 됩니다. 유의하실 점은 문자열을 앞에서부터 셀 때는 0, 1, 2, 3 번째 이렇게 세지만 뒤에서 부터 셀때는 -1, -2, -3 이렇게 셉니다. 표로 설명하자면 아래와 같습니다.

 

순서 0 1 2 3 4 5 6 7 8
문자열 0 1 2 3 4 5 6 7 8
순서 -9 -8 -7 -6 -5 -4 -3 -2 -1
print(stringA[-5:-2])
print(stringA[:-2])
print(stringA[-2:])

위의 예제도 직접 실행해보면서 이해해보시길 바랍니다.

 

문자열을 다루는 다른 방식도 알고 싶으시다면 아래 링크를 참고하시면 됩니다.

 

Python 연산자 :: 문자열 데이터 타입

안녕하세요 독학코딩입니다. 오늘은 문자열 데이터 타입의 연산자에 대해서 배워보도록 하겠습니다. 한글로 연산자라고 하면 사칙연산이 생각나게 되지만 연산자는 영어로 operator라고 합니다.

stcodelab.com

반응형

댓글