Python 리스트 결합하기

파이썬 join() 함수는 지정된 구분자로 문자열 리스트를 연결하여 문자열을 형성하는 것을 의미합니다. 때때로 리스트를 문자열로 변환해야 할 때 유용합니다. 예를 들어, 알파벳 리스트를 쉼표로 구분된 문자열로 변환하여 파일에 저장하는 경우입니다.

파이썬 리스트 연결하기

우리는 파이썬 문자열 join() 함수를 사용하여 문자열 리스트를 연결할 수 있습니다. 이 함수는 iterable을 인수로 받으며, 리스트는 iterable이므로 리스트와 함께 사용할 수 있습니다. 또한, 리스트는 문자열을 포함해야 하며, 만약 정수 리스트를 연결하려고 하면 TypeError: sequence item 0: expected str instance, int found라는 오류 메시지가 표시됩니다. 파이썬에서 리스트를 연결하여 문자열을 생성하는 간단한 예제를 살펴보겠습니다.

vowels = ["a", "e", "i", "o", "u"]

vowelsCSV = ",".join(vowels)

print("Vowels are = ", vowelsCSV)

위의 프로그램을 실행하면 다음과 같은 출력이 생성됩니다.

Vowels are =  a,e,i,o,u

파이썬 두 문자열 연결하기

또한, join() 함수를 사용하여 두 개의 문자열을 연결할 수도 있습니다.

message = "Hello ".join("World")

print(message) #prints 'Hello World'

join() 함수가 문자열에 있고 리스트에 없는 이유는 무엇인가요?

많은 파이썬 개발자들이 가지는 의문 중 하나는 join() 함수가 문자열에 속하는 이유입니다. 아래 구문이 더 기억하기 쉽고 사용하기 편하지 않을까요?

vowelsCSV = vowels.join(",")

이에 대한 인기있는 StackOverflow 질문이 있으며, 여기에서 해당 토론에서 나온 가장 중요한 포인트들을 나열하고 있습니다.

주된 이유는 join() 함수가 어떤 iterable이든 사용될 수 있으며 결과는 항상 문자열이기 때문에 이 함수를 문자열 API에 두는 것이 모든 iterable 클래스에 넣는 것보다 더 합리적입니다.

다양한 데이터 유형의 목록 결합

여러 데이터 유형을 가진 목록 항목을 결합하려는 프로그램을 살펴보겠습니다.

names = ['Java', 'Python', 1]
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

이 프로그램의 출력을 확인해 봅시다: 이것은 단순히 join() 함수로 단일 문자열로 결합할 수 없는 여러 데이터 유형을 포함하는 목록을 보여주는 데모였습니다. 목록은 반드시 문자열 값만 포함해야 합니다.

join 함수를 사용하여 문자열 분할

우리는 특정 구분 기호로 문자열을 분할하기 위해 join() 함수를 사용할 수 있습니다.

names = 'Python'
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

이는 문자열이 join() 함수의 인수로 전달될 때 지정된 구분 기호로 문자열을 분할하는 것을 보여줍니다.

split() 함수 사용

join() 함수로 분할하는 것 외에도, split() 함수를 사용하여 거의 동일한 방식으로 문자열을 분할할 수 있습니다. 코드 조각을 살펴보겠습니다:

names = ['Java', 'Python', 'Go']
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

split = single_str.split(delimiter)
print('List: {0}'.format(split))

이 프로그램의 출력을 확인해 봅시다: 우리는 같은 구분 기호를 사용하여 문자열을 다시 분할하여 원래 목록으로 돌려 놓았습니다.

Splitting only n times

지난 예제에서 보여준 split() 함수는 선택적인 두 번째 인수도 사용할 수 있습니다. 이는 splot 작업을 수행해야 하는 횟수를 나타냅니다. 여기에는 사용 예제가 포함되어 있습니다:

names = ['Java', 'Python', 'Go']
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

split = single_str.split(delimiter, 1)
print('List: {0}'.format(split))

이 프로그램의 출력을 살펴보겠습니다: 이번에는 split() 함수 매개변수로 제공한대로 split 작업이 한 번만 수행되었습니다. 이것으로 파이썬에서 리스트를 결합하여 문자열을 만들고, split() 함수를 사용하여 원래의 리스트를 다시 얻는 것에 대한 설명을 마치겠습니다.

Source:
https://www.digitalocean.com/community/tutorials/python-join-list