문자열을 나눌 때 split()과 split(' ')은 비슷해 보이지만, 동작 방식에서 차이가 있다.
split()의 특징s = " Hello World Python "
print(s.split())
출력:
['Hello', 'World', 'Python']
연속된 공백이 무시되고, 앞뒤 공백도 제거된다.
split(' ')의 특징'')을 포함한 리스트가 반환된다.s = " Hello World Python "
print(s.split(' '))
출력:
['', '', 'Hello', '', '', 'World', '', 'Python', '', '']
연속된 공백이 빈 문자열로 유지되고, 앞뒤 공백도 포함된다.
| 구분 | split() | split(' ') |
|---|---|---|
| 연속된 공백 | 무시됨 | 유지됨 |
| 앞뒤 공백 | 제거됨 | 제거되지 않음 |
| 빈 문자열 포함 여부 | 포함 안 함 | 포함됨 |
s1 = " Hello World "
s2 = " " # 공백만 있는 경우
print(s1.split()) # ['Hello', 'World']
print(s1.split(' ')) # ['', '', '', 'Hello', '', '', 'World', '', '', '']
print(s2.split()) # [] (빈 리스트)
print(s2.split(' ')) # [''] (빈 문자열 1개)
✅ 단어 개수를 세는 경우 → split() 사용
✅ 특정 구분자로 나누어야 하는 경우 → split(' ')보다 split()이 더 적절함
✅ 모든 공백을 유지해야 하는 경우 → split(' ') 사용