Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python – 문자열의 K번째 위치마다 특정 문자 삽입하는 방법

파이썬에서 문자열 내 매 '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 간격마다 가능한 모든 삽입 지점별 결과를 리스트 형태로 한 번에 보여줍니다. 따라서 문자열 처리 로직을 학습하거나 다양한 삽입 시나리오를 비교할 때 유용하게 활용할 수 있습니다.