반응형
문자열을 조작하는 기본적인 방법은 반복문을 돌리면서 문자열을 이루는 문자 하나 하나에 대해 처리를 하는 것입니다. 자주 사용되는 split이나 replace 같은 함수를 기본 라이브러리에서 제공하기도 합니다.
python에서는 문자열 슬라이싱을 할 수 있는 보다 직관적이고 편리한 방법을 제공하고 있습니다.
string [ start : end : step]
문자열의 뒤, 인덱스를 표시하는 대괄호 [ ]
안에 :
로 구분되는 세 가지 파라미터를 넣을 수 있습니다. 바로 시작위치 start , 종료위치 end 와 변화되는 값의 크기 step 입니다.
위의 표현식은 string
이라는 문자열에 대해 인덱스 start
부터 시작해서 인덱스를 step
만큼 증가시키며 인덱스 end - 1
까지의 문자를 반환합니다. start
, end
가 양수일 때는 0번 인덱스를 기준으로 하며, 음수일 때는 문자열의 마지막 인덱스를 기준으로 합니다.
필요없는 경우에는 각 파라미터를 생략할 수도 있고 아래와 같이 다양한 방식으로 사용할 수 있습니다.
string = "ABCDEF"
print(string[0:2]) # "AB" 0부터 1까지
print(string[1:]) # "BCDEF" 1부터 문자열 마지막까지
print(string[:-2]) # "ABCD" 마지막 인덱스 5에서 2를 뺀 3번 인덱스까지
print(string[::2]) # "ACE" 전체에 대해서 2씩 증가
역순으로 출력하고자 하는 경우 세번째 파라미터에 -1을 넣으면 됩니다.
string = "ABC"
print(string[2:0:-1]) # "CB" 2부터 1까지 1씩 감소
print(string[0:3][::-1]) # "CBA" 0부터 2까지를 역순으로
주의할 점은 역순으로 슬라이싱을 할 때,
start
부터 end + 1
까지를 자르므로 마지막으로 출력되는 문자는 string[1] 이라는 것입니다.
string[2:0:-1]
이라고 하면 문자열 전체를 뒤집은 "CBA"가 나올 것 같지만 실제로는 "CB"가 반환됩니다.
string[0:3][::-1]
는 전체 문자열 "ABC"를 다시 역순으로 슬라이싱하여 원하던 "CBA" 라는 결과를 얻을 수 있습니다.
반응형
'Python & Data' 카테고리의 다른 글
엑셀로 대량의 쿼리문 생성하기2 (Feat. pandas) (1) | 2024.09.10 |
---|---|
Python 여러 개의 변수를 한꺼번에 선언, 초기화, 할당하기 feat.swap (0) | 2023.06.01 |
Python string을 char로 바꾸는 법 feat. 대소문자 변환 (0) | 2023.05.31 |
python에서 숫자를 입력받는 방법 (0) | 2023.04.11 |
Django 시작하기 (0) | 2021.06.16 |
댓글