이 글에서는 파이썬에서 리스트를 문자열로 변환하는 문제의 해결 방법과 다양한 접근 방식을 알아보겠습니다.
문제 정의
주어진 리스트를 문자열(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() 방식을 사용하는 것이 가장 권장됩니다.