개요
주어진 문자열의 처음 두 문자와 마지막 두 문자를 연결하여 새로운 문자열을 만들어야 하는 경우가 있습니다. 파이썬에서는 카운터 변수를 정의한 뒤, 인덱싱(indexing)과 슬라이싱(slicing)을 활용해 원하는 범위의 문자에 손쉽게 접근할 수 있습니다.
아래에서 실제 동작 과정을 예제와 함께 살펴보겠습니다.
예제 코드
my_string = "Hi there how are you"
my_counter = 0
for i in my_string:
my_counter = my_counter + 1
new_string = my_string[0:2] + my_string[my_counter - 2: my_counter]
print("원본 문자열은 ")
print(my_string)
print("새로운 문자열은 ")
print(new_string)실행 결과
원본 문자열은 Hi there how are you 새로운 문자열은 Hiou
코드 설명
먼저 문자열을 하나 정의하고, 콘솔에 출력하여 확인합니다.
카운터 변수를
0으로 초기화합니다.for반복문으로 문자열을 한 글자씩 순회하면서 전체 문자 개수를 셉니다.인덱싱을 사용해 처음 두 문자(
[0:2])와 마지막 두 문자([카운터-2 : 카운터])에 접근합니다.두 부분을 연결한 결과를 새로운 변수에 저장한 뒤, 콘솔에 출력합니다.
더 간결한 방법: 음수 인덱싱 활용
사실 파이썬에서는 문자 개수를 직접 세지 않아도 됩니다. 음수 인덱싱(negative indexing)을 사용하면 위 코드를 훨씬 짧고 가독성 좋게 작성할 수 있습니다.
my_string = "Hi there how are you" new_string = my_string[:2] + my_string[-2:] print(new_string) # Hiou
[-2:]는 문자열의 뒤에서 두 번째 문자부터 끝까지를 의미하므로, 별도의 카운터 없이 마지막 두 문자를 바로 추출할 수 있습니다. 실무에서는 이 방식이 더 파이써닉(Pythonic)하다고 평가받습니다.
마무리
이처럼 파이썬의 슬라이싱 기능을 활용하면 문자열의 특정 위치에 있는 문자들을 자유롭게 조합할 수 있습니다. 반복문으로 길이를 세는 방식은 학습 목적으로 유용하지만, 실제 프로젝트에서는 음수 인덱싱을 사용하는 것이 코드를 더 깔끔하고 효율적으로 만들어 줍니다.