파이썬(Python) 문자열을 나눌 수 있는 split 함수

파이썬 Python

파이썬(Python) 문자열을 나눌 수 있는 split 함수

 

환경: PyCharm

 

문자열은 문자, 단어 등으로 구성된 문자들의 집합입니다. 문자열을 변수에 저장하면 문자열 객체가 됩니다. 문자열 객체는 str 클래스의 객체입니다. 그래서 str 클래스 내부 함수를 모두 사용할 수 있습니다. 많은 내부 함수 중에서 문자열을 특정 구분자로 나누고 싶을 때 split() 함수를 사용합니다.


파이썬(Python) 문자열을 나눌 수 있는 split 함수

 

split 문법은 다음과 같습니다. 문자열을 나눌 때 구분자는 seq 파라미터로 입력합니다. maxsplit 는 나누고 싶은 개수를 정할 때 사용합니다. 예제를 통해서 사용 방법을 알아 보겠습니다.

 

str.split(seq=none, maxsplit=-1)

 

maxsplit 분리할 문자 개수를 지정할 때 사용합니다. 만약 1을 입력하면 maxsplit + 1 더해 져서 2개로 분리가 됩니다. maxsplit 으로 값을 입력하지 않으면 기본값 -1 이 들어갑니다. 분리하는 순서는 앞에서 차례대로 입니다. 예제에서는 maxsplit=2 를 입력했습니다. 분리되는 개수는 3개가 됩니다. 나머지 하나는 분리되지 않은 채 남습니다.

 

>>> '1,2,3,4'.split(',', maxsplit=2)

['1', '2', '3,4']

 

maxsplit 에 아무것도 입력하지 않으면 seq 값 만으로 4개 모두를 분리합니다.

 

>>> '1,2,3,4'.split(',')

['1', '2', '3', '4']

 

분리 문자 사이에 공백은 어떻게 처리할 까요? 파라미터 seq 는 분리 기준 문자로 공백까지 포함해서 분리합니다. 예제처럼 분리기준인 “,” 를 기점으로 중간과 마지막 공백도 분리했습니다.

 

>>> '1,2,,3,'.split(',')

['1', '2', '', '3', '']

 

만약 아무것도 입력하지 않으면 어떻게 될까요? 알아서 분리할 문자를 찾아 작업을 수행합니다. 하지만 두 번째 예제처럼 패턴이 일정하지 않으면 제대로 된 결과값을 얻을 수 없습니다.

 

>>> '1,2,3'.split(',')

['1', '2', '3']

 

>>> '1,2,,3,'.split()

['1,2,,3,']

 

다음은 분리한 문자를 저장하는 독특한 방식을 알려 드리겠습니다. 보통 split() 함수를 실행해서 변수에 저장하면 배열이 됩니다.

 

>>> arr = 'a,b,c'.split(',')

>>> arr[0]

'a'

>>> arr[1]

'b'

>>> arr[2]

'c'

 

이번에는 하나의 변수가 아닌 분리되는 개수만큼 변수를 만들어 지정해 보세요. 각각의 변수에는 분리된 값들이 자동으로 들어갑니다.

 

>>> x, y, z = 'a,b,c'.split(',')

>>> x

'a'

>>> y

'b'

>>> z

'c'


Posted by 녹두장군