[Python] 파이썬 리스트 문자열 합치기 Join 함수
- Language/Python
- 2020. 12. 28.
Join함수는 리스트로 되어 있는 문자열 데이터들을 설정한 구분자(separator)로 구분하여 문자열 형태로 반환하는 내장 함수이다. 문자열을 리스트 형태로 나누는 것을 split 함수라고 한다면, 리스트를 문자열로 바꾸는 것이니 split의 reverse 함수라고 이해하면 된다.
사용방법
구분자.join(문자열리스트)
구분자(separator)가 앞에 오고 문자열이 뒤에 오는 구조라서 좀 헷갈릴 수 있다.
사용예시
공백구분자
>>> str_list = ["동해물과","백두산이","마르고","닳도록"]
>>> str = " ".join(str_list)
>>> print(str)
동해물과 백두산이 마르고 닳도록
구분자를 공백으로 지정하여, 문자열을 출력하는 예시
쉼표(,) 구분자
>>> str_list = ["math","english","korean"]
>>> str = ",".join(str_list)
>>> print(str)
math,english,korean
이번에는 "," 즉 쉼표를 구분자로 써서 리스트 값을 조인하여 출력하는 예시.
문자열 리스트를 join하지 않을 경우
>>> int_list = [1,2,3,4,5]
>>> joined = ",".join(int_list)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected str instance, int found
문자열 리스트를 조인하지 않을 경우 위와 같은 에러가 발생한다. str이 발견되어야 하는데 int값이 발견되어서 에러가 발생하는 것이다.
>>> mix_list = ["동해물과","백두산이",1,"마르고"]
>>> print(mix_list)
['동해물과', '백두산이', 1, '마르고']
>>> joined = ",".join(mix_list)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 2: expected str instance, int found
문자열과 정수형을 섞은 리스트 역시 마찬가지다. join을 사용할 때에는 문자열 데이터가 필수적으로 들어가는지 체크를 하여 출력을 하거나, 이럴땐 아래와 같이 for문을 활용하여 처리하는 방식이 있다.
다른형이 있을 경우
mix_list = ["동해물과","백두산이",1,"마르고"]
# 문자열 변수 선언
joined_str = ""
for v in mix_list:
# 문자열 변수에 값이 있을 경우
if(len(joined_str) > 0):
# 콤마를 추가한다
joined_str += ","
joined_str += str(v)
print(joined_str)
다른 형태가 있을 경우 이렇게 for문으로 처리를 하는 방법도 있다.
반응형
'Language > Python' 카테고리의 다른 글
[Python] 파이썬 명령 인자값 받는 방법 (sys.argv) (0) | 2021.01.02 |
---|---|
[Python] 파이썬 문자열 분리(나누기), Split 함수 (0) | 2020.12.29 |
[Python] 파이썬 람다(Lambda) 함수 사용하기 (0) | 2020.12.26 |
[Python] 파이썬 함수(Function) 사용법, 메소드(Method)와 차이 (0) | 2020.12.26 |
[Python] 파이썬에서 딕셔너리(Dictionary) 사용법 (0) | 2020.12.26 |