[Python] split() vs split(' ')

ungnam·2025년 3월 19일

문자열을 나눌 때 split()split(' ')은 비슷해 보이지만, 동작 방식에서 차이가 있다.


1. split()의 특징

  • 연속된 공백을 하나로 처리한다.
  • 문자열 앞뒤 공백을 자동으로 제거한다.
  • 빈 문자열을 리스트에 포함하지 않는다.

예제

s = "  Hello   World  Python  "
print(s.split())  

출력:

['Hello', 'World', 'Python']

연속된 공백이 무시되고, 앞뒤 공백도 제거된다.


2. split(' ')의 특징

  • 연속된 공백을 유지한다.
  • 문자열 앞뒤 공백을 제거하지 않는다.
  • 공백만 입력하면 빈 문자열('')을 포함한 리스트가 반환된다.

예제

s = "  Hello   World  Python  "
print(s.split(' '))  

출력:

['', '', 'Hello', '', '', 'World', '', 'Python', '', '']

연속된 공백이 빈 문자열로 유지되고, 앞뒤 공백도 포함된다.


3. 차이점 비교

구분split()split(' ')
연속된 공백무시됨유지됨
앞뒤 공백제거됨제거되지 않음
빈 문자열 포함 여부포함 안 함포함됨

차이를 확인하는 예제

s1 = "   Hello   World   "
s2 = "      "  # 공백만 있는 경우

print(s1.split())      # ['Hello', 'World']
print(s1.split(' '))   # ['', '', '', 'Hello', '', '', 'World', '', '', '']

print(s2.split())      # [] (빈 리스트)
print(s2.split(' '))   # [''] (빈 문자열 1개)

4. 어떤 경우에 사용해야 할까?

단어 개수를 세는 경우split() 사용
특정 구분자로 나누어야 하는 경우split(' ')보다 split()이 더 적절함
모든 공백을 유지해야 하는 경우split(' ') 사용

profile
꾸준함을 잃지 말자.

0개의 댓글