본문으로 바로가기

파이썬 split, join 사용하기 - 전처리

category Language/Python 2020. 7. 13. 19:20
728x90

문자열을 분할하기

기본적으로 문자열을 리스트로 만들면 다음과 같습니다.

>>> string = 'Duis varius, ligula molestie dapibus sodales, ipsum nunc venenatis sapien, at placerat eros felis sit amet nulla.'

>>> list(string)
['D', 'u', 'i', 's', ' ', 'v', 'a', 'r', 'i', 'u', 's', ',', ' ', 'l', 'i', 'g', 'u', 'l', 'a', ' ', 'm', 'o', 'l', 'e', 's', 't', 'i', 'e', ' ', 'd', 'a', 'p', 'i', 'b', 'u', 's', ' ', 's', 'o', 'd', 'a', 'l', 'e', 's', ',', ' ', 'i', 'p', 's', 'u', 'm', ' ', 'n', 'u', 'n', 'c', ' ', 'v', 'e', 'n', 'e', 'n', 'a',
't', 'i', 's', ' ', 's', 'a', 'p', 'i', 'e', 'n', ',', ' ', 'a', 't', ' ', 'p', 'l', 'a', 'c', 'e', 'r', 'a', 't', ' ', 'e', 'r', 'o', 's', ' ', 'f', 'e', 'l', 'i', 's', ' ', 's', 'i', 't', ' ', 'a', 'm', 'e', 't', ' ', 'n', 'u', 'l', 'l', 'a', '.']

 

특정 문자를 기준으로 쪼개고 싶을 경우, split() 을 사용하면 됩니다.

자주 사용됩니다.

>>> string.split(',')
['Duis varius', ' ligula molestie dapibus sodales', ' ipsum nunc venenatis sapien', ' at placerat eros felis sit amet nulla.']

>>> string.split(' ')
['Duis', 'varius,', 'ligula', 'molestie', 'dapibus', 'sodales,', 'ipsum', 'nunc', 'venenatis', 'sapien,', 'at', 'placerat', 'eros', 'felis', 'sit', 'amet', 'nulla.']

 

리스트 문자열로 합치기

문자열로 된 원소를 가지는 리스트를 합칠 때는 join() 을 사용합니다.

>>> split = string.split(',')

>>> split
['Duis varius', ' ligula molestie dapibus sodales', ' ipsum nunc venenatis sapien', ' at placerat eros felis sit amet nulla.']

>>> ''.join(split)
'Duis varius ligula molestie dapibus sodales ipsum nunc venenatis sapien at placerat eros felis sit amet nulla.'

 

다음처럼 사용하면, 원소와 원소사이에 문자열과 같이 join 하게 됩니다.

>>> split = string.split(',')
>>> split
['Duis varius', ' ligula molestie dapibus sodales', ' ipsum nunc venenatis sapien', ' at placerat eros felis sit amet nulla.']
>>> join = '.\n'.join(split)
>>> join
'Duis varius.\n ligula molestie dapibus sodales.\n ipsum nunc venenatis sapien.\n at placerat eros felis sit amet nulla.'
>>> print(join)
Duis varius.
 ligula molestie dapibus sodales.
 ipsum nunc venenatis sapien.
 at placerat eros felis sit amet nulla.