🍏 공식문서
https://docs.python.org/ko/3.8/library/stdtypes.html#str.split
🍏 split 함수란?
문자열 메서드인 split 함수는 문자열을 분할하여 리스트를 리턴하는 함수이다.
str.split(sep=None, maxsplit=-1)
🥦 split 함수의 파라미터
split 함수는 sep, maxsplit 두 개의 파라미터를 가지고 있는데 각각 None, -1을 기본값으로 가지고 있다.
🥕 sep
sep에 str(문자) 값이 주어지면, 연속된 구분자는 묶이지 않고 빈 문자열을 구분하는 것으로 간주한다.
예를 들어, '1,,2'.split(',') 는 ['1', '', '2']를 리턴하는데
시작점과 첫 ',' 사이 = '1'
첫 ','와 두 번째 ',' 사이 = ''
두 번째 ','와 마지막 사이 = '2'
결과는 ['1', '', '2']이 된다.
<코드>
print('1,,2'.split(','))
<결과>
sep 인자는 여러 문자로 구성될 수 있다
예를 들어, '1<>2<>3'.split('<>') 는 ['1', '2', '3']를 리턴한다.
<코드>
print('1<>2<>3'.split('<>'))
<결과>
지정된 구분자로 빈 문자열을 나누면 ['']를 리턴한다.
<코드>
print(''.split('<>'))
<결과>
sep이 지정되지 않거나 None이면, 다른 분할 알고리즘이 적용된다.
연속된 공백 문자는 단일한 구분자로 간주하고, 문자열이 선행이나 후행 공백을 포함해도 결과는 시작과 끝에 빈 문자열을 포함하지 않는다.
결과적으로 빈 문자열이나 공백만으로 구성된 문자열을 None 구분자로 나누면 []를 돌려줍니다.
<코드>
print('1 2 3'.split())
print(' 1 2 3 '.split())
print(''.split())
print(' '.split())
<결과>
🥕maxsplit
maxsplit에 int(숫자) 값이 주어지면 해당 수 만큼 분할을 수행하고 없거나 -1이면 분할 수에 제한이 없다.
maxsplit이 주어졌을 때 리턴되는 리스트는 최대 maxsplit + 1개의 요소를 가진다. ex) maxsplit이 3인 경우 3등분이 아닌 3번 분할하는 것으로 결과는 하나를 3번 분할해 4등분이 된다.
<코드>
print('1 2 3'.split(maxsplit=1))
print('1 2 3 4 5'.split(maxsplit=3))
<결과>
🥦 주의사항
간혹 리턴값에 '' 공백 문자가 포함되어 있다면 문자열에 구분자가 여러 개 중복한 경우가 있는지 확인해 보자
'코딩 > Python' 카테고리의 다른 글
[Python] Mutable, Immutable한 자료구조에 대해 공부해보자 (0) | 2022.06.09 |
---|---|
[Python] 용어정리 iterable, iterator (0) | 2022.04.27 |
[Python] 내장함수 globals() 활용하기 (0) | 2022.04.24 |