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

파이썬 join() 메서드 완벽 가이드: 리스트를 문자열로 합치는 방법

파이썬으로 리스트를 다루다 보면 리스트의 요소들을 하나의 문자열로 합쳐야 하는 경우가 종종 있습니다. 예를 들어, 회사 직원들의 이름이 담긴 리스트를 하나의 문자열로 병합하고 싶을 수 있죠.

바로 이럴 때 파이썬 문자열의 join() 메서드가 유용합니다. join() 메서드를 사용하면 기존 리스트를 하나의 문자열로 손쉽게 변환할 수 있습니다.

이 글에서는 문자열의 기본 개념과 함께, 파이썬 join() 메서드를 사용해 리스트를 하나의 문자열로 변환하는 방법을 예제와 함께 자세히 살펴보겠습니다.

파이썬 문자열 기본 복습

문자열(string)은 하나 이상의 문자로 이루어진 시퀀스입니다. 문자열은 텍스트 데이터를 다룰 수 있게 해주기 때문에 프로그래밍에서 필수적인 데이터 타입입니다.

파이썬에서 문자열은 작은따옴표('') 또는 큰따옴표("") 안에 선언합니다. 아래는 문자열의 예시입니다:

'This is a Python string, enclosed within single quotes.'

파이썬에서 리스트를 다루다 보면 이를 문자열로 변환해야 할 때가 있습니다. 바로 그때 join() 메서드가 유용하게 쓰입니다.

파이썬 문자열 join() 메서드란?

join() 문자열 메서드는 리스트의 모든 요소를 하나로 합치고, 그 결과를 문자열로 변환할 수 있게 해줍니다. join() 메서드는 리스트의 요소들이 연결된 문자열을 반환합니다.

join() 메서드의 기본 문법은 다음과 같습니다:

separator.join(list_name)

여기서 separator는 새로 만들어지는 문자열에서 각 항목 사이에 삽입될 구분자(문자)를 의미하며, list_name은 하나의 문자열로 합치고자 하는 리스트의 이름입니다.

파이썬 join() 메서드 예제

예제를 통해 내장 함수인 join()이 실제로 어떻게 동작하는지 살펴보겠습니다.

어떤 회사 영업부 직원들의 이름이 담긴 리스트가 있다고 가정해 봅시다. 우리는 이 리스트를 하나의 문자열로 연결하되, 각 값이 쉼표(,)로 구분되기를 원합니다. 다음 코드로 이를 구현할 수 있습니다:

employees = ['Donna Hanson', 'Anne Scott', 'Michael Parsons', 'Holly Harris']
separator = ','

new_employees = separator.join(employees)
print(new_employees)

위 코드를 실행하면 다음과 같은 결과가 출력됩니다:

Donna Hanson,Anne Scott,Michael Parsons,Holly Harris

코드를 한 줄씩 살펴보겠습니다. 먼저 "employees"라는 변수를 선언하여 영업부 네 명의 직원 이름을 저장합니다. 그다음 separator라는 변수를 선언하여 나중에 새로 만들어질 문자열에서 값을 구분할 때 사용할 문자를 저장합니다.

그런 다음 join() 메서드를 사용해 "employees" 리스트의 내용을 separator 변수의 값(여기서는 쉼표)으로 구분하여 하나로 합칩니다. 마지막으로 새로 만들어진 문자열을 콘솔에 출력합니다.

결과를 보면 이름들이 더 이상 리스트 형태가 아니라 하나의 문자열로 저장된 것을 확인할 수 있습니다. 리스트의 각 값은 쉼표로 구분되어 있습니다.

주의할 점은 join() 메서드가 새 문자열의 각 값 사이에 공백을 자동으로 추가하지 않는다는 것입니다. 값 사이에 공백을 넣고 싶다면 구분자에 공백을 직접 포함시켜야 합니다. 예를 들어 ', '처럼 쉼표와 공백을 함께 지정하면 각 값 사이에 ", "가 삽입됩니다.

집합(Set)과 튜플(Tuple)에서도 사용 가능

join() 메서드는 리스트뿐만 아니라 집합(set)과 튜플(tuple)에서도 동일하게 작동합니다. 직원 이름을 집합(중괄호 {}로 표기)에 저장했다고 가정해 봅시다. 앞선 코드에서 리스트 대신 집합을 지정하면 같은 방식으로 문자열로 변환할 수 있습니다:

employees = {'Donna Hanson', 'Anne Scott', 'Michael Parsons', 'Holly Harris'}
separator = ','

new_employees = separator.join(employees)
print(new_employees)

실행 결과는 다음과 같습니다:

Donna Hanson,Anne Scott,Michael Parsons,Holly Harris

앞선 예제와 결과가 동일한 것을 확인할 수 있습니다. 코드의 차이점은 리스트(대괄호 []) 대신 집합(중괄호 {})을 사용했다는 점입니다. 튜플과 함께 join() 메서드를 사용하려면 집합을 나타내는 중괄호({}) 대신 튜플을 나타내는 소괄호(())를 사용하면 됩니다.

단, 집합은 순서가 없는 자료형이므로 요소가 결합되는 순서는 실행 시점마다 달라질 수 있다는 점을 유의하세요. 순서가 중요하다면 리스트나 튜플을 사용하는 것이 좋습니다.

마무리

파이썬의 join() 메서드를 사용하면 리스트의 내용을 하나의 문자열로 병합하고, 새 문자열의 각 값 사이에 구분자를 추가할 수 있습니다.

이 글에서는 예제를 통해 파이썬 join() 메서드를 사용해 리스트의 내용을 하나로 합치는 방법을 알아보았습니다. 이제 여러분도 파이썬 전문가처럼 join() 메서드를 활용할 준비가 되었습니다!