이번 포스팅에서는 str class에 있는 split()이라는 문자열 분리 메서드에 대해 알아보겠습니다.
str.split()
split() 메서드는 str class에서 사용할 수 있는 함수입니다.
호출 시 str.split() 혹은 str class로 생성된 instance.split()로 사용할 수 있습니다.
사용하게 되면 split() 메서드는 대상 문자열을 분리하여 list 형태로 반환합니다.
예를 들어
x = str.split('Hello python')
print(x)
의 실행 결과는 아래와 같습니다.
'Hello python'이라는 str을 띄어쓰기를 기준으로 분리하여 item 2개짜리 list로 반환하였습니다.
위와 같이 class로 호출하는 방법 외에 instance로도 호출할 수 있는데요.
x = 'Hello python'.split()
print(x)
이처럼 instance로 호출하였을 때도 동일한 결과가 나타나는 것을 확인할 수 있습니다.
분리자 (sep=' ')
split() 메서드에서는 sep라는 분리자를 활용하여
좀 더 다양한 방법으로 문자열을 구분할 수 있는데요.
방금처럼 Hello python을 띄어쓰기가 아닌 '-'로 연결하여 split() 메서드를 사용해봅시다.
x = 'Hello-python'.split()
print(x)
그랬더니 결과는 문자열이 분리되지 않은 채로 item 1개짜리 list가 반환되었습니다.
이러한 문자열을 분리해주기 위한 것이 sep입니다.
x = 'Hello-python'.split(sep='-')
print(x)
분리자를 활용하면 이처럼 좀 더 다양한 방법으로 문자열을 분리할 수 있습니다.
split() 메서드는 만약 sep를 별도로 지정하지 않는다면 default로 공백을 기준으로 문자열을 분리합니다.
split() 활용
다양한 방법으로 활용할 수 있는데요.
우선 키보드로부터 입력받은 값을 분리하는 방법을 소개해드리겠습니다.
python에서 키보드로부터 값을 입력받는 방법은 input()을 사용하는 것입니다.
input()은 키보드로부터 입력받은 객체를 str로 반환합니다.
같은 str class이기 때문에 split() 메서드를 사용하는 것이 가능합니다.
x = input().split()
print(x)
I'm fine thank you. 를 입력하였을 때 split() 메서드에 의해 분리된 list가 반환되었습니다.
이 때, list의 item이 4개인 것을 알 수 있는데요.
좌변 x에 대입하였을 땐 item 4개짜리 list가 되지만
좌변에 item의 갯수만큼의 변수를 할당하여 받게되면 각 변수에 str을 각각 받을 수 있습니다.
a,b,c,d = input().split()
print(a)
print(b)
print(c)
print(d)
위 처럼 a,b,c,d에 순서대로 list의 원소들이 들어가 있는 것을 확인할 수 있습니다.
이 때 주의해야 할 점은 list item의 갯수와 좌변의 변수 갯수가 동일해야한다는 점입니다.
여기까지 문자열을 분리해주는 split() 메서드에 대해 알아보았습니다.
'프로그래밍 > Python' 카테고리의 다른 글
[Python] print() 함수 (0) | 2022.11.01 |
---|---|
[Python] 파일 경로 설정 (0) | 2021.06.14 |
[Python] 문자열 메소드 (0) | 2021.06.12 |
[Python] 문자열 입력 방법 (0) | 2021.06.12 |
[Python] 데이터 유형: 사전(Dictionary) (0) | 2021.06.10 |