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개

+ Recent posts