파이썬에는 시퀀스 객체(리스트, 튜플 등)의 요소들을 하나의 문자열로 연결해 주는 내장 메서드 join()이 있습니다. 이 메서드는 구분자 역할을 할 문자열에서 호출하며, 인자로 전달된 시퀀스의 각 요소 사이에 해당 구분자를 삽입한 새로운 문자열을 반환합니다.
구분자 없이 요소들을 그대로 이어 붙인 문자열이 필요하다면 빈 문자열('')로 초기화하면 되고, 쉼표로 구분된 문자열이 필요하다면 변수를 ','로 초기화하면 됩니다.
>>> lst = ['h', 'e', 'l', 'l', 'o']
>>> str = ','
>>> str.join(lst)
'h,e,l,l,o'
위 예제에서는 리스트 lst의 각 문자 사이에 쉼표가 삽입되어 최종적으로 'h,e,l,l,o'라는 결과가 출력됩니다.
문자열이 아닌 요소가 포함된 경우
join() 메서드는 오직 문자열 타입의 요소만 처리할 수 있습니다. 따라서 리스트에 숫자처럼 문자열이 아닌 값이 포함되어 있다면, map() 함수와 str()을 함께 사용하여 모든 요소를 먼저 문자열로 변환한 뒤 join()을 호출해야 합니다.
>>> numbers = [1, 2, 3, 4, 5]
>>> ','.join(map(str, numbers))
'1,2,3,4,5'
이처럼 join()은 리스트 데이터를 CSV 형식으로 저장하거나, 화면에 표시할 때 유용하게 활용할 수 있는 파이썬의 기본적인 문자열 처리 방법입니다.