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

파이썬에서 리스트를 문자열로 변환하는 4가지 방법

이 글에서는 파이썬에서 리스트를 문자열로 변환하는 문제의 해결 방법과 다양한 접근 방식을 알아보겠습니다.

문제 정의

주어진 리스트를 문자열(string) 타입으로 변환하는 것이 목표입니다.

아래에서는 이 문제를 해결할 수 있는 네 가지 방법을 예제 코드와 함께 살펴보겠습니다.

방법 1: 빈 문자열에 요소 연결하기

가장 기본적인 방식으로, 빈 문자열을 초기화한 뒤 반복문을 통해 리스트의 각 요소를 하나씩 이어 붙이는 방법입니다.

예제

def listToString(s):
    # 빈 문자열 초기화
    str1 = ""
    # 리스트 순회하며 요소 연결
    for ele in s:
        str1 += ele
    # 완성된 문자열 반환
    return str1

# 메인 코드
s = ['tutorials', 'point']
print(listToString(s))

출력

tutorialspoint

직관적이고 이해하기 쉽지만, 문자열은 불변(immutable) 객체이기 때문에 요소를 하나씩 더할 때마다 새로운 문자열이 생성됩니다. 따라서 리스트가 클 경우 성능이 떨어질 수 있습니다.

방법 2: join() 함수 사용

join() 함수는 리스트의 모든 요소를 지정한 구분자로 연결해 하나의 문자열로 만들어 줍니다. 가장 널리 쓰이며 성능 면에서도 우수한 방법입니다.

예제

def listToString(s):
    # 구분자로 사용할 빈 문자열 초기화
    str1 = ""
    # join()으로 요소들을 하나의 문자열로 결합
    return (str1.join(s))

# 드라이버 코드
s = ['tutorials', 'point']
print(listToString(s))

출력

tutorialspoint

구분자를 쉼표나 공백 등으로 바꾸면 원하는 형태로 손쉽게 출력 형식을 조정할 수 있습니다.

방법 3: 리스트 컴프리헨션 사용

리스트 컴프리헨션과 join()을 함께 사용하면 한 줄로 간결하게 처리할 수 있습니다. 특히 리스트에 숫자 등 문자열이 아닌 요소가 섞여 있을 때 str()로 변환하면서 처리할 수 있어 유용합니다.

예제

s = ['tutorials', 'point']

# 리스트 컴프리헨션과 join() 활용
listToStr = ''.join([str(elem) for elem in s])
print(listToStr)

출력

tutorialspoint

방법 4: map() 함수 사용

map(str, s)를 사용하면 리스트의 모든 요소를 문자열로 변환한 뒤 join()으로 결합할 수 있습니다. 리스트 컴프리헨션보다 코드가 더 간결합니다.

예제

s = ['tutorials', 'point']

# map()과 join() 활용
listToStr = ''.join(map(str, s))
print(listToStr)

출력

tutorialspoint

마무리

이 글에서는 파이썬에서 리스트를 문자열로 변환하는 네 가지 방법을 살펴보았습니다. 간단한 반복문부터 join(), 리스트 컴프리헨션, map()까지 상황에 맞는 방법을 선택하면 됩니다. 일반적으로는 성능과 가독성이 좋은 join() 방식을 사용하는 것이 가장 권장됩니다.