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

파이썬 리스트를 문자열로 변환하는 방법 – join() 함수 완벽 정리

join() 함수란?

파이썬에서는 문자열 객체에 기본으로 내장된 join() 함수를 사용해 리스트와 같은 시퀀스(순서형) 객체의 요소들을 하나의 문자열로 합칠 수 있습니다. 이 함수는 요소들 사이에 지정한 구분자(separator)를 삽입하면서 전체를 하나의 문자열로 반환합니다.

구분자 없이 리스트를 문자열로 합치기

요소 사이에 아무런 구분자 없이 문자열을 만들고 싶다면, 빈 문자열('')을 기준으로 join()을 호출하면 됩니다.

>>> lst = ['h', 'e', 'l', 'l', 'o']
>>> ''.join(lst)
'hello'

위 예제에서는 각 글자가 구분자 없이 그대로 이어져 'hello'라는 하나의 문자열이 완성됩니다.

구분자를 넣어 합치기

반대로 요소 사이에 특정 문자를 넣고 싶다면, 해당 문자를 join() 앞에 지정하면 됩니다.

>>> '-'.join(['h', 'e', 'l', 'l', 'o'])
'h-e-l-l-o'
>>> ', '.join(['apple', 'banana', 'cherry'])
'apple, banana, cherry'

주의할 점: 숫자 등 문자열이 아닌 요소

join() 함수는 문자열 타입의 요소만 처리할 수 있습니다. 따라서 리스트에 숫자 같은 다른 자료형이 포함되어 있다면, 먼저 모든 요소를 문자열로 변환해 주어야 합니다.

>>> nums = [1, 2, 3, 4, 5]
>>> ''.join(map(str, nums))
'12345'

정리

- 리스트를 문자열로 변환할 때는 str.join(list) 형태를 사용합니다.
- 구분자가 필요 없으면 빈 문자열 '', 필요하면 원하는 구분자를 지정합니다.
- 숫자 등 문자열이 아닌 요소가 있을 때는 map(str, ...)으로 먼저 변환해야 오류 없이 처리됩니다.