안녕하세요 독학코딩입니다. 오늘은 파이썬의 문자열을 다루는 방법에 대해서 배워보겠습니다. 보통은 입력받은 문자열을 나누거나 일부분만 쓰거나 하는 경우가 많으니 문자열 슬라이싱을 설명해드리겠습니다.
파이썬에서 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 > Python FAQ' 카테고리의 다른 글
Python 예외 없이 파일이 존재하는지 확인하는 방법은 무엇인가요?, How do I check whether a file exists without exceptions? (0) | 2023.05.04 |
---|---|
Python if __name__ == "__main__":는 무엇을 하는 것인가요?, What does if __name__ == "__main__": do? (0) | 2023.05.04 |
Python 파이썬 교집합, 합집합, 차집합 찾는 방법 (0) | 2022.01.10 |
Python 파이썬 str 사이에 str 넣기, 문자 삽입 (0) | 2021.12.25 |
Python 파이썬 제곱 (0) | 2021.12.07 |
댓글