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

Python – 주어진 순서대로 문자열 연결하기

주어진 순서대로 문자열을 연결해야 할 때는 간단한 반복(iteration)을 활용하면 됩니다. 이 글에서는 인덱스 순서를 담은 리스트를 기준으로 문자열 리스트의 요소들을 원하는 순서대로 이어 붙이는 방법을 소개합니다.

예제

다음은 실제 구현 예시입니다.

my_list = ["pyt", "fun", "for", "learning"]

print("The list is :")

print(my_list)

sort_order = [1, 0, 3, 2]

my_result = ''
for element in sort_order:

    my_result += my_list[element]

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

출력

The list is :
['pyt', 'fun', 'for', 'learning']
The result is :
funpytlearningfor

코드 설명

  • 문자열 요소로 이루어진 리스트를 정의하고 콘솔에 출력합니다.

  • 연결할 순서를 나타내는 정수 리스트(sort_order)를 추가로 정의합니다.

  • 결과를 저장하기 위한 빈 문자열을 생성합니다.

  • 순서 리스트를 반복하면서, 현재 요소를 인덱스로 사용하여 문자열 리스트의 해당 요소에 접근합니다.

  • 접근한 문자열을 += 연산자로 빈 문자열에 계속 이어 붙입니다.

  • 모든 반복이 끝나면 최종 결과가 콘솔에 출력됩니다.

참고: join()을 활용한 더 효율적인 방법

반복문에서 += 연산자로 문자열을 이어 붙이는 방식은 직관적이지만, 파이썬의 문자열은 불변(immutable) 객체이므로 연결할 때마다 새로운 문자열이 생성되어 성능이 저하될 수 있습니다. 다음과 같이 join() 메서드와 제너레이터 표현식을 사용하면 더 간결하고 효율적으로 처리할 수 있습니다.

my_list = ["pyt", "fun", "for", "learning"]
sort_order = [1, 0, 3, 2]

my_result = ''.join(my_list[i] for i in sort_order)
print(my_result)

실행 결과는 동일하게 funpytlearningfor가 출력되며, 코드가 한 줄로 줄어들어 가독성도 크게 향상됩니다.