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

파이썬에서 행렬(2차원 리스트)을 문자열로 변환하는 방법

파이썬에서 행렬 형태의 2차원 리스트를 하나의 문자열로 변환해야 하는 경우가 종종 있습니다. 이럴 때 리스트 컴프리헨션(list comprehension)join 메서드를 함께 사용하면 간결하고 효율적으로 처리할 수 있습니다.

예제 코드

아래 예제는 2차원 리스트를 지정한 구분자를 사용해 하나의 문자열로 변환하는 과정을 보여줍니다.

my_list = [[1, 23, "python"], [1, "is", 24], ["fun", 97, 5]]

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

in_delete, out_delete = ",", " "

my_result = out_delete.join([in_delete.join([str(element) for element in sub]) for sub in my_list])

print("The output string is :")
print(my_result)

실행 결과

The list is :
[[1, 23, 'python'], [1, 'is', 24], ['fun', 97, 5]]
The output string is :
1,23,python 1,is,24 fun,97,5

코드 설명

  • 먼저 리스트 안에 리스트가 중첩된 2차원 리스트를 정의하고, 콘솔에 출력하여 원본 데이터를 확인합니다.

  • 두 개의 변수에 구분자 기호를 저장합니다. 여기서는 내부 구분자로 쉼표(,), 외부 구분자로 공백( )을 사용했습니다.

  • 리스트 컴프리헨션을 통해 외부 리스트의 각 하위 리스트를 순회하며, 내부 컴프리헨션은 다시 각 하위 리스트의 요소들을 순회합니다.

  • 각 요소는 str() 함수로 문자열로 변환됩니다. join 메서드는 문자열끼리만 연결할 수 있기 때문에 정수 등 다른 자료형은 반드시 문자열로 변환해야 합니다.

  • 내부 join은 각 행의 요소들을 쉼표로 연결하고, 외부 join은 그 결과 행들을 공백으로 연결하여 최종 문자열을 만듭니다.

  • 완성된 결과 문자열은 변수에 저장된 후 콘솔에 출력됩니다.

핵심 포인트

이 기법의 핵심은 이중 리스트 컴프리헨션중첩된 join 호출입니다. 바깥쪽 join이 행과 행 사이를 연결하고, 안쪽 join이 한 행 내부의 요소들을 연결하는 구조입니다. 구분자만 바꾸면 탭(\t), 줄바꿈(\n) 등 원하는 형식으로 손쉽게 응용할 수 있어, CSV 형식 변환이나 로그 출력 등 다양한 상황에서 유용하게 활용됩니다.