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

Python에서 튜플 리스트를 문자열로 병합하는 방법

Python에서 튜플로 이루어진 리스트를 하나의 문자열로 평탄화(flatten)해야 하는 경우가 종종 있습니다. 이럴 때 str() 메서드와 strip() 메서드를 함께 사용하면 아주 간단하게 해결할 수 있습니다.

리스트와 튜플의 기본 개념

파이썬의 리스트는 정수, 실수, 문자열 등 서로 다른 자료형의 값을 모두 담을 수 있는 유연한 자료구조입니다. 튜플 리스트는 이름 그대로 여러 개의 튜플이 리스트 안에 감싸져 있는 형태를 의미합니다.

  • str() 메서드 : 전달받은 데이터를 문자열 자료형으로 변환합니다.
  • strip() 메서드 : 문자열 양 끝에서 지정한 특정 문자나 값을 제거합니다.

예제 코드

아래는 튜플 리스트를 문자열로 병합하는 과정을 보여주는 예제입니다.

my_list = [(11, 14), (54, 56), (98, 0), (13, 76)]

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

my_result = str(my_list).strip('[]')

print("The list of tuple flattened to string is: ")
print(my_result)

실행 결과

The list is :
[(11, 14), (54, 56), (98, 0), (13, 76)]
The list of tuple flattened to string is:
(11, 14), (54, 56), (98, 0), (13, 76)

코드 설명

  1. 튜플로 구성된 리스트를 정의한 뒤 콘솔에 출력합니다.
  2. str() 함수로 리스트 전체를 문자열로 변환합니다.
  3. 변환된 문자열에 strip('[]')을 적용하여 앞뒤의 대괄호 '[' 와 ']' 를 제거합니다.
  4. 결과를 변수 my_result에 할당한 후 콘솔에 출력합니다.

참고 : join()을 활용한 대안 방법

대괄호만 제거하는 방식 외에도, 각 튜플을 구분자로 연결하고 싶다면 join() 메서드와 제너레이터 표현식을 조합할 수 있습니다.

my_list = [(11, 14), (54, 56), (98, 0), (13, 76)]

result = ', '.join(str(t) for t in my_list)
print(result)

이 방법 역시 동일하게 (11, 14), (54, 56), (98, 0), (13, 76) 형태의 문자열을 얻을 수 있으며, 구분자를 자유롭게 지정할 수 있다는 장점이 있습니다.