string.split(sep = None) : sep를 구분자 문자열로 사용하여 문자열에 있는 단어들을 리스트의 원소로 만든 후, 문자열을 리스트로 출력함
sep = None이 default값임. string.split()인 경우( default인 경우 ) 연속된 공백 문자는 단일한 구분자로 간주함. 또한 문자열이 선행이나 후행 공백을 포함해도 결과 리스트는 시작과 끝에 빈 문자열을 포함하지 않음 ex) 'a b'.split() # 공백 7칸 >>> ['a', 'b'] ' a b '.split() # 공백 7칸 >>> ['a', 'b']
default값이 아닌 sep가 주어지면, 연속된 구분자는 묶이지 않고 빈 문자열을 구분하는 것으로 간주함 ⇒ 즉, 리스트를 생성할 때 연속된 구분자 -1개 만큼의 빈 문자열이 원소로 생김 ex) 'a b'.split(' ') # 공백 7칸 >>> ['a', '', '', '', '', '', '', 'b'] # 빈 문자열 원소 6개 ‘a,,,,,,,b'.split(',') # 쉼표 7개 >>> ['a', '', '', '', '', '', '', 'b'] # 빈 문자열 원소 6개
공백이 나오는 문자열에 리스트함수를 쓸 경우 vs split( ‘ ‘ ) vs split() ⇒ string.split()을 쓰면 빈 문자열이 생기지 않고 리스트가 생성됨 ⇒ string.split(' ')을 쓰면 연속된 공백 -1개 만큼의 빈 문자열이 원소로 생겨난 리스트가 출력됨 ⇒ list(string)을 쓰면 연속된 공백 만큼의 문자열이 원소로 생겨난 리스트가 출력됨 ex) 'a b'.split() # 공백 7칸 >>> ['a', 'b'] # 빈 문자열 원소 0 개 'a b'.split(' ') # 공백 7칸 >>> ['a', '', '', '', '', '', '', 'b'] # 빈 문자열 원소 6개 list('a b') # 공백 7칸 >>> ['a', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'b'] # 빈 문자열 원소 7개