[Python] 문자열 자르기 (str to list) [split함수]

반응형

python logo

 

 

* 전체 코드

string = 'I became a zombie'

# 한 문자씩 나누기 -> 리스트
list(string) # list() 함수 이용
string.split() # split() 함수 이용


string.split('a') # 'a'를 구분자로 쪼갭니다.

# maxsplit은 최대 몇번 쪼갤지
# 처음 으로 나오는 공백 I 와 became사이를 쪼갭니다.
string.split(maxsplit=1)

## 다시 합칠 수도 있음
(',').join(string.split()) # ','를 구분자로 합치기

(' ').join(string.split()) # 공백을 구분자로 합치기 -> 원래 문자열

 

1. 문자열을 리스트로 바꾸는 2가지 방법

1) list() 함수 이용

string = 'I became a zombie'
list(string) # 공백을 포함 한 문자씩 모두 나눔

 

list() 함수에 문자열을 넣으면 한 문자씩 다 나누어 리스트를 생성합니다. (공백도 한 문자로 취급)

* 출력

list(string) 출력

 

2) split() 함수 이용

string.split()

문자열.split() 을 사용하면, 문자열에 대해 공백을 구분자로 나누어 리스트를 생성합니다.

* 출력

string.split() 출력

 

2. split() 함수 응용

split() 함수는 문자열을 쪼갤 구분자를 지정할 수도 있고, 구분자를 기준으로 최대 몇번 쪼갤지도 지정할 수 있습니다.

 

1) split('구분자') : 구분자 지정

'구분자' 지정없이 split()만 쓴다면 공백을 구분자로 나누게 됩니다.

# 'a'를 구분자로 쪼갭니다.
string.split('a')

'I became a zombie' 에서 a를 구분자로 쪼갭니다. 그러면 'I bec' a 'me ' a ' zombie' 로 쪼개집니다.

여기서 주의할 점은, me뒤에 한칸 공백이 있고, zombie 앞에도 한칸 공백이 있다는 것입니다.

* 출력

'a'를 구분자로 split

 

2) maxsplit : 최대 몇번 쪼갤지 지정

# maxsplit은 최대 몇번 쪼갤지
# 처음 으로 나오는 공백 I 와 became사이를 쪼갭니다.
string.split(maxsplit=1)

split() 함수에 구분자를 주지 않았기 때문에 공백을 구분자로 한 번만 쪼갭니다.

즉, 'I' 와 'became' 사이의 공백을 구분자로 1번만 쪼갭니다.

* 출력

공백을 구분자로 1번만 쪼개기

 

3. ('구분자').join(리스트) : 리스트를 다시 문자열로 합치기

('구분자').join(리스트) 함수에서 '구분자'는 공란이 될 수 없습니다.

 

1) join 함수

split() 함수를 쓰면 문자열이 자동으로 리스트형으로 바뀝니다. 이때 리스트를 다시 문자열로 합칠 수 있습니다.

(',').join(string.split()) # ','를 구분자로 합치기

string.split()을 하면 ['I', 'became', 'a', 'zombie'] 리스트가 되고 이를 ','를 구분자로 다시 합쳐서 'I,became,a,zombie'가 됩니다.

* 출력

','를 구분자로 합치기 (list to str)

 

2) join 함수에 공백을 줄 수 있습니다.

(' ').join(string.split()) # 공백을 구분자로 합치기 -> 원래 문자열

처음에 string = 'I became a zombie' 였습니다. 이를 split() 해서 리스트로 만들고,

다시 공백(' ')을 구분자로 합치게되면 원래 문자열이 됩니다.

* 출력

공백을 구분자로 합치기

 

관련 깃허브

https://github.com/netsus/python_practice/blob/master/str%20to%20list%20to%20str.ipynb

 

netsus/python_practice

basic python course. Contribute to netsus/python_practice development by creating an account on GitHub.

github.com

Reference)

python logo: https://commons.wikimedia.org/wiki/File:Python_logo_and_wordmark.svg

반응형

댓글

Designed by JB FACTORY