본문 바로가기
Python

[Python] split() 함수, 문자열 잘라서 리스트 변환, 문자열 나누기

by 고체물리학 2021. 9. 9.

문자열을 잘라서 리스트로 변환하는 함수 split()를 알아보자

 

 

먼저 split함수는

1. 문자열.split()

2. 문자열.split("구분자")

3. split("구분자",분할횟수)

4. split(sep = "구분자",maxsplit = 분할횟수)

이렇게 쓰인다

 

1. 문자열.split()

split()은 문자열 사이 공백을 기준으로 자른다

 

ex1) 문자열 사이 공백x

class Test:

    def __init__(self):
        data = "12345"
        value1 = data.split()
        print("Origanl:     ",data)
        print("split():     ",value1)
        print("length :     ",len(value1))


if __name__ == '__main__':
    Test()

 

결과) 

 

문자열 사이 공백이 없어 길이가 1인 리스트로 변환되었다

 

ex2) 문자열 사이 공백 o

class Test:

    def __init__(self):
        data = "1 2 3 4 5"
        value1 = data.split()
        print("Origanl:     ",data)
        print("split():     ",value1)
        print("length :     ",len(value1))

if __name__ == '__main__':
    Test()

 

결과)

공백 사이를 다 잘라서 저장되어 리스트 길이는 5


2. 문자열.split("구분자")

ex) 구분자 기준으로 문자열을 자르고 리스트에 저장한다

 

class Test:

    def __init__(self):
        data = "1 2 3 4 5"
        value1 = data.split(' ')
        print("Origanl   :     ",data)
        print("split(' '):     ",value1)
        print("length    :     ",len(value1))

if __name__ == '__main__':
    Test()

' ' 공백을 기준으로 문자열을 자른다

 

결과)

공백을 구분자로 설정했기 때문에 공백 사이를 다 잘라서 저장되어 문자열이 길이가 5인 리스트로 변환됨

 


3. split("구분자",분할횟수)

 

ex1) 구분자 기준으로 몇 개까지 자를지 결정한다

공백, 3회

class Test:

    def __init__(self):
        data = "1 2 3 4 5"
        value1 = data.split(' ',3)
        print("Origanl     :     ",data)
        print("split(' ',3):     ",value1)
        print("length      :     ",len(value1))

if __name__ == '__main__':
    Test()

 

결과)

공백을 3번만 잘랐으므로 나머지는 안 잘려서 출력됨

 

ex) 공백, 4회

class Test:

    def __init__(self):
        data = "1 2 3 4 5"
        value1 = data.split(' ',4)
        print("Origanl     :     ",data)
        print("split(' ',4):     ",value1)
        print("length      :     ",len(value1))

if __name__ == '__main__':
    Test()

 

결과)

공백이 4개인 문자열이므로 다 잘려서 출력됨


4. split(sep = "구분자",maxsplit = 분할횟수)

    3번 split("구분자",분할횟수)와 똑같이 쓰인다

 

ex1) 구분자 기준으로 몇 개까지 자를지 결정한다

공백, 3회

class Test:

    def __init__(self):
        data = "1 2 3 4 5"
        value1 = data.split(sep=' ',maxsplit=3)
        print("Origanl     :     ",data)
        print("split(sep=' ',maxsplit=3):     ",value1)
        print("length      :     ",len(value1))

if __name__ == '__main__':
    Test()

 

결과)

3번 결과랑 같음

 

ex) 공백, 4회

class Test:

    def __init__(self):
        data = "1 2 3 4 5"
        value1 = data.split(sep=' ',maxsplit=4)
        print("Origanl     :     ",data)
        print("split(sep=' ',maxsplit=4):     ",value1)
        print("length      :     ",len(value1))

if __name__ == '__main__':
    Test()

 

결과)

 

 

전체 비교 코드

class Test:

    def __init__(self):
        data = "1,2,3,4,5"
        value1 = data.split()
        value2 = data.split(',')
        value3 = data.split(',',2)
        value4 = data.split(sep=',',maxsplit=3)
        print("Origanl     :     ",data)
        print("split()     :     ",value1)
        print("split(',')  :     ",value2)
        print("split(',',2)  :     ",value3)
        print("split(sep=',',maxsplit=3)  :     ", value4)

if __name__ == '__main__':
    Test()

결과)

 

반응형

댓글