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

'K'를 기준으로 문자열을 연결하는 Python 프로그램

리스트 안에서 특정 문자 'K'를 기준으로 인접한 문자열들을 하나로 합쳐야 하는 경우가 종종 있습니다. 예를 들어 '+' 같은 기호를 중심으로 앞뒤 문자열을 연결하고 싶다면, while 반복문append() 메서드를 활용하면 간단하게 해결할 수 있습니다.

이 방식은 구분자 역할을 하는 문자열을 발견하면 그 앞과 뒤에 있는 요소를 하나로 묶어 새로운 리스트에 저장하는 원리로 동작합니다.

예제 코드

아래는 실제 동작 예시입니다 −

my_list = ["python", "+", 'is', 'fun', "+", 'to', 'learn']

print("The list is :")
print(my_list)

K = "+"
print("The value of K is :")
print(K)

my_result = []
index = 0

while index < len(my_list):

   element = my_list[index]

   if (index < len(my_list) - 1) and my_list[index + 1] == K:
      element = element + K + my_list[index + 2]

      index += 2
   my_result.append(element)
   index += 1

print("The result is :")
print(my_result)

출력 결과

The list is :
['python', '+', 'is', 'fun', '+', 'to', 'learn']
The value of K is :
+
The result is :
['python+is', 'fun+to', 'learn']

코드 동작 원리

  • 연결 대상이 될 문자열들로 구성된 리스트를 정의하고 콘솔에 출력합니다.

  • 구분자 역할을 할 문자열을 변수 K에 할당하고 화면에 표시합니다.

  • 결과를 담을 빈 리스트 my_result를 생성합니다.

  • 인덱스로 사용할 정수 변수를 0으로 초기화합니다.

  • while 반복문에서 현재 인덱스가 리스트 길이보다 작은지 검사합니다.

  • 조건을 만족하면 해당 인덱스의 요소를 변수에 가져옵니다.

  • 바로 다음 요소가 'K'와 일치하는지 확인하고, 일치한다면 현재 요소 뒤에 'K'와 그 다음 요소를 이어 붙여 하나의 문자열로 만듭니다.

  • 구분자까지 처리했으므로 인덱스를 2만큼 건너뛰어 중복 연결을 방지합니다.

  • 완성된 문자열을 결과 리스트에 추가(append)하고 인덱스를 1 증가시켜 다음 요소로 넘어갑니다.

  • 모든 반복이 끝나면 최종 결과 리스트를 콘솔에 출력합니다.

실행 결과 '+'를 기준으로 'python+is', 'fun+to'가 각각 연결되고, 마지막 'learn'은 뒤에 구분자가 없어 그대로 유지되는 것을 확인할 수 있습니다.