프로그래밍을 하다 보면 문자열의 첫 번째 문자와 마지막 문자를 서로 교환해야 하는 경우가 종종 있습니다. 파이썬에서는 슬라이싱(slicing) 기반의 인덱싱을 활용하는 함수를 하나 정의하는 것만으로 이 작업을 아주 간단하게 처리할 수 있습니다.
예제 코드
def exchange_val(my_string):
return my_string[-1:] + my_string[1:-1] + my_string[:1]
my_string = "Hi there how are you"
print("The string is :")
print(my_string)
print("The modified string is :")
print(exchange_val(my_string))실행 결과
The string is : Hi there how are you The modified string is : ui there how are yoH
동작 원리 설명
exchange_val이라는 이름의 함수를 정의하며, 이 함수는 문자열을 매개변수로 전달받습니다.슬라이싱 문법을 사용하여 첫 문자와 마지막 문자를 교환합니다. 각 부분은 다음과 같은 역할을 합니다.
my_string[-1:]: 마지막 문자를 추출합니다.my_string[1:-1]: 두 번째 문자부터 뒤에서 두 번째 문자까지, 즉 중간 부분을 그대로 가져옵니다.my_string[:1]: 첫 번째 문자를 추출합니다.
이 세 조각을 순서대로 이어 붙이면 마지막 문자 + 중간 부분 + 첫 문자 순서의 새로운 문자열이 완성됩니다.
함수 외부에서 문자열 변수를 정의하고, 먼저 원본 문자열을 콘솔에 출력합니다.
정의한 함수를 호출하면서 문자열을 인자로 넘기고, 그 반환 결과를 콘솔에 출력합니다.
추가 팁
위 방식은 문자열의 길이가 2 이상일 때 정상적으로 동작합니다. 길이가 1인 문자열은 첫 문자와 마지막 문자가 같으므로 그대로 반환되며, 빈 문자열의 경우에도 오류 없이 빈 문자열이 반환됩니다. 따라서 별도의 예외 처리 없이도 다양한 입력에 안전하게 사용할 수 있다는 장점이 있습니다.