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

Python으로 선택적 연속 접미사 조인 구현하기

리스트에서 특정 접미사로 끝나는 요소들을 기준으로 문자열을 선택적으로 연결해야 하는 경우가 있습니다. 이를 선택적 연속 접미사 조인(selective consecutive suffix join)이라고 하며, 간단한 반복문과 endswith 메서드, append 메서드를 활용하면 손쉽게 구현할 수 있습니다.

예제 코드

다음은 선택적 연속 접미사 조인을 구현한 예제입니다.

my_list = ["Python-", "fun", "to-", "code"]

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

suffix = '-'
print("The suffix is :")
print(suffix)

result = []
temp = []
for element in my_list:
   temp.append(element)

   if not element.endswith(suffix):
      result.append(''.join(temp))
      temp = []

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

실행 결과

The list is :
['Python-', 'fun', 'to-', 'code']
The suffix is :
-
The result is :
['Python-fun', 'to-code']

코드 설명

  • 문자열 리스트를 정의하고 콘솔에 출력합니다.
  • 기준이 될 접미사 값을 정의하고 콘솔에 출력합니다.
  • 결과를 저장할 두 개의 빈 리스트(result, temp)를 생성합니다.
  • 리스트의 요소를 하나씩 순회하면서 임시 리스트 temp에 요소를 추가합니다.
  • 현재 요소가 지정된 접미사로 끝나지 않는다면, join 메서드를 사용해 지금까지 모은 문자열들을 하나로 합쳐 결과 리스트에 추가합니다.
  • 그 후 임시 리스트를 다시 비워 다음 그룹의 문자열을 받을 준비를 합니다.
  • 최종 결과가 콘솔에 출력됩니다.

동작 원리

이 알고리즘의 핵심은 접미사(위 예제에서는 '-')를 기준으로 문자열을 그룹화하는 것입니다. 'Python-'처럼 하이픈으로 끝나는 요소는 뒤에 이어질 문자열이 있다는 의미이므로 임시 리스트에 계속 누적됩니다. 반면 'fun'처럼 접미사로 끝나지 않는 요소를 만나면, 그 시점까지 누적된 문자열들을 하나로 합쳐 최종 결과에 저장합니다. 그 결과 ['Python-fun', 'to-code']라는 자연스럽게 연결된 문자열 리스트를 얻을 수 있습니다.