파이썬 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