파이썬 문자열 리스트 합치기 - paisseon munjayeol liseuteu habchigi

Join함수는 리스트로 되어 있는 문자열 데이터들을 설정한 구분자(separator)로 구분하여 문자열 형태로 반환하는 내장 함수이다. 문자열을 리스트 형태로 나누는 것을 split 함수라고 한다면, 리스트를 문자열로 바꾸는 것이니 split의 reverse 함수라고 이해하면 된다.

파이썬 문자열 리스트 합치기 - paisseon munjayeol liseuteu habchigi
파이썬 리스트 문자열 합치기, join 함수

사용방법

구분자.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문으로 처리를 하는 방법도 있다.

토닥토닥 파이썬 - 파이썬 기초 01 장 머리말 -------------------- 섹션 01 머리말 강의 01 머리말 섹션 02 선수 과목 강의 01 선수 과목 02 장 파이썬이란 -------------------- 섹션 01 파이썬이란 강의 01 파이썬이란 03 장 파이썬 설치 -------------------- 섹션 01 파이썬 설치 강의 01 파이썬 설치 섹션 02 아나콘다 설치 강의 01 아나콘다 설치 섹션 03 비주얼 스튜디오 코드 설치 강의 01 비주얼 스튜디오 코드 설치 강의 02 파이썬 확장 프로그램 설치 섹션 04 구글 콜랩 강의 01 구글 콜랩 섹션 05 케글 코드 강의 01 케글 코드 04 장 파이썬 코드 실행 -------------------- 섹션 01 파이썬 강의 01 IDLE 파이썬 쉘 강의 02 IDLE 편집기 강의 03 명령 프롬프트 섹션 02 아나콘다 강의 01 아나콘다 강의 02 스파이더 파이썬 쉘 강의 03 스파이더 편집기 강의 04 명령 프롬프트 강의 05 주피터 노트북 섹션 03 비주얼 스튜디오 코드 강의 01 폴더 만들기 강의 02 파이썬 파일 만들기 강의 03 주피터 노트북 만들기 강의 04 터미널 보기--임시이미지--캡처다시요 섹션 04 연습 문제 강의 01 연습 문제 강의 02 풀이 05 장 주석 -------------------- 섹션 01 주석 강의 01 주석 06 장 변수 -------------------- 섹션 01 변수 강의 01 변수 섹션 02 연습 문제 강의 01 연습 문제 강의 02 풀이 07장 기본 데이터 타입 -------------------- 섹션 01 기본 데이터 타입 강의 01 기본 데이터 타입 섹션 02 None 강의 01 None 섹션 03 불 강의 01 불 섹션 04 숫자 강의 01 숫자 섹션 05 문자열 강의 01 문자열 강의 02 인덱싱 강의 03 슬라이싱 강의 04 탐색 강의 05 추가 수정 삭제 강의 06 문자열 포매팅 참고 섹션 06 숫자간 변환 강의 01 숫자간 변환 강의 02 소수점을 반올림 섹션 07 문자열과 숫자 간 변환 강의 01 문자열과 숫자 간 변환 섹션 08 랜덤 (숫자) 강의 01 랜덤 (숫자) 섹션 09 연습 문제 강의 01 연습 문제 강의 02 풀이 섹션 10 연습 문제 (응용) 강의 01 연습 문제 강의 02 풀이 08 장 날짜시간 -------------------- 섹션 01 날짜시간 강의 01 날짜시간 섹션 02 연습 문제 강의 01 연습 문제 강의 02 풀이 09 장 화면 출력 & 키보드 입력 -------------------- 섹션 01 화면 출력 & 키보드 입력 강의 01 화면 출력 강의 02 키보드 입력 강의 03 이스케이프 문자 섹션 02 연습 문제 강의 01 연습 문제 강의 02 풀이 10 장 연산자 -------------------- 섹션 01 연산자 강의 01 산술 연산자 강의 02 대입 연산자 강의 03 비교 연산자 강의 04 논리 연산자 섹션 02 연습 문제 강의 01 연습 문제 강의 02 풀이 11 장 조건문 -------------------- 섹션 01 조건문 강의 01 조건문 강의 02 if 문 강의 03 if-else 문 강의 04 if-elif-else 문 강의 05 조건식에서 기본 데이터 타입 사용 섹션 02 연습 문제 강의 01 연습 문제 강의 02 풀이 12 장 반복문 -------------------- 섹션 01 반복문 강의 01 반복문 강의 02 for 문 강의 03 while 문 강의 04 무한 반복문 강의 05 중첩 반복문 섹션 02 연습 문제 강의 01 연습 문제 강의 02 풀이 13 장 컬렉션 데이터 타입 -------------------- 섹션 01 컬렉션 데이터 타입 강의 01 컬렉션 데이터 타입 섹션 02 리스트 강의 01 리스트 강의 02 인덱싱 강의 03 슬라이싱 강의 04 탐색 강의 05 추가 수정 삭제 강의 06 문자열을 리스트로 분리하기 강의 07 리스트를 문자열로 합치기 섹션 03 튜플 강의 01 튜플 강의 02 탐색 섹션 04 범위 강의 01 범위 강의 02 탐색 섹션 05 집합 강의 01 집합 강의 02 탐색 강의 03 추가 수정 삭제 섹션 06 연습 문제 강의 01 연습 문제 강의 02 풀이 섹션 07 연습 문제 (응용) 강의 01 연습 문제 강의 02 풀이 섹션 08 사전 강의 01 사전 강의 02 키 강의 03 탐색 강의 04 추가 수정 삭제 강의 05 디폴트 사전 섹션 09 컬렉션 축약 강의 01 컬렉션 축약 강의 02 리스트 축약 강의 03 집합 축약 강의 04 사전 축약 섹션 10 조건식에서 컬렉션 데이터 타입 사용 강의 01 조건식에서 컬렉션 데이터 타입 사용 섹션 11 컬렉션간 변환 강의 01 컬렉션간 변환 섹션 12 랜덤 (리스트) 강의 01 랜덤 (리스트) 섹션 13 연습 문제 강의 01 연습 문제 강의 02 풀이 섹션 14 연습 문제 (응용) 강의 01 연습 문제 강의 02 풀이 14 장 카운터 -------------------- 섹션 01 카운터 강의 01 카운터 강의 02 키 강의 03 탐색 강의 04 추가 수정 삭제 섹션 02 연습 문제 강의 01 연습 문제 강의 02 풀이 15 장 함수 -------------------- 섹션 01 함수 강의 01 함수 강의 02 매개 변수 강의 03 디폴트 매개 변수 강의 04 매개변수 이름 지정 값 입력 강의 05 값 리턴 강의 06 도움말 보기 섹션 02 연습 문제 강의 01 연습 문제 강의 02 풀이 섹션 03 람다 함수 강의 01 람다 함수 강의 02 매개 변수 강의 03 값 리턴 섹션 04 람다 함수를 매개 변수로 가지는 함수 강의 01 람다 함수를 매개 변수로 가지는 함수 강의 02 map 함수 강의 03 filter 함수 강의 04 리스트 sort 메서드 (페어 정렬) 강의 05 sorted 함수 (페어 정렬) 강의 06 사용자 정의 함수 섹션 05 연습 문제 강의 01 연습 문제 강의 02 풀이 16 장 예외 처리 -------------------- 섹션 01 예외 처리 강의 01 예외 강의 02 예외 처리 강의 02 예외 처리 강의 03 여러 종류의 예외 처리 강의 04 else 문 과 finally 문 섹션 02 연습 문제 강의 01 연습 문제 강의 02 풀이 17 장 부록 -------------------- 섹션 01 연습 문제 (1 장 ~ 12 장) 강의 01 연습 문제 강의 02 풀이 섹션 02 연습 문제 (13 장 ~ 16 장) 강의 01 연습 문제 강의 02 풀이 섹션 03 참고 자료 강의 01 참고 자료 핵심 요약 섹션 99 to do 파트 14 데이터 시각화 -------------------- 섹션 01 데이터 시각화 강의 01 토닥토닥 파이썬 - 데이터 시각화 (링크)