파이썬에서 문자열 내 매 'K'개의 요소마다 특정 문자를 삽입해야 하는 경우가 있습니다. 이럴 때 append 메서드, 문자열 연결 연산자(+), 그리고 리스트 슬라이싱을 활용한 사용자 정의 함수를 통해 손쉽게 해결할 수 있습니다.
예제
아래는 위 개념을 실제로 구현한 예시입니다 −
def insert_char_after_key_elem(my_string, my_key, my_char):
my_result = []
for index in range(0, len(my_string), my_key):
my_result.append(my_string[:index] + my_char + my_string[index:])
return str(my_result)
my_string = 'PythonToCode'
print("The string is :")
print(my_string)
K = 2
print("The value of K is ")
print(K)
add_char = ";"
print("The result is :")
print(insert_char_after_key_elem(my_string, K, add_char))출력
The string is : PythonToCode The value of K is 2 The result is : [';PythonToCode', 'Py;thonToCode', 'Pyth;onToCode', 'Python;ToCode', 'PythonTo;Code', 'PythonToCo;de']
코드 설명
insert_char_after_key_elem이라는 이름의 함수를 정의하며, 이 함수는 문자열, 키(K), 삽입할 문자 세 가지를 매개변수로 받습니다.함수 내부에서 결과를 저장할 빈 리스트를 하나 생성합니다.
range(0, len(my_string), my_key)를 사용해 0부터 문자열 길이까지 키 값만큼씩 건너뛰며 인덱스를 순회합니다.리스트 슬라이싱(
my_string[:index],my_string[index:])과 연결 연산자 '+'를 활용해 해당 위치 앞뒤로 문자를 삽입한 새 문자열을 만들고, 빈 리스트에 추가합니다.모든 반복이 끝나면 결과 리스트를 문자열로 변환하여 반환합니다.
함수 외부에서는 예시 문자열 'PythonToCode'를 정의하고 콘솔에 출력합니다.
키 값(K=2)과 삽입할 문자(';')를 각각 정의합니다.
필요한 매개변수를 전달하여 함수를 호출하고, 그 결과를 콘솔에 출력합니다.
핵심 포인트
이 방식은 단순히 한 곳에만 문자를 삽입하는 것이 아니라, K 간격마다 가능한 모든 삽입 지점별 결과를 리스트 형태로 한 번에 보여줍니다. 따라서 문자열 처리 로직을 학습하거나 다양한 삽입 시나리오를 비교할 때 유용하게 활용할 수 있습니다.