본 포스팅에서는 파이썬에서 문자열 결합, 합치기가 가능한 join 함수에 대해 예제와 함께 다루어 보겠습니다.
파이썬 join 함수 구문
파이썬 내장 함수 join을 사용하는 방식은 크게 2가지 정도가 있는 거 같습니다.
"".join(객체)
"구분자".join(객체)
join 함수는 일반적으로 “구분자”.join(객체) 형식으로 사용됩니다. “구분자”를 객체의 값과 값 사이에 넣어서 하나의 문자열로 결합합니다.
” “.join(객체) 형식으로 함수를 호출하면, ” ” 빈 문자열이 구분자가 되는 것입니다. 즉, 아무 값도 끼어넣지 않고 객체의 값들을 합쳐서 하나의 문자열을 생성하고 반환합니다.
- 객체
join 함수의 인자로 들어가야하는 객체는 순회(iterable)가 가능하며 반환값이 모두 문자열인 자료구조여야 합니다. 따라서, 문자열만 포함한다면 객체는 리스트(list), 튜플(tuple), 딕셔너리(dict) 등이 될 수 있습니다.
파이썬 join 함수 예제
” “.join(리스트)
myList = ["민호", "건우", "현준", "원준", "재형", "동재", "은지"]
joined = "".join(myList)
print(joined)
결과값:
” “.join(리스트) 형태로 함수를 호출하면, 리스트 안에 있는 문자열 요소들을 구분자 없이 합쳐서 하나의 문자열로 생성 후 반환합니다.
“구분자”.join(리스트)
myList = ["민호", "건우", "현준", "원준", "재형", "동재", "은지"]
joined = ",".join(myList)
print(joined)
결과값:
“구분자”.join(리스트) 형태로 함수를 호출하면, 리스트 안에 있는 문자열 요소들 사이에 “구분자”를 끼어넣어서 하나의 문자열로 생성 후 반환합니다.
위 예시에서는 구분자로 반점을 넣었기 때문에 반점을 문자열 요소들 사이에 넣습니다.
” “.join(튜플)
myTuple = ("민호", "건우", "현준", "원준", "재형", "동재", "은지")
joined = "".join(myTuple)
print(joined)
결과값:
” “.join(튜플) 형태로 함수를 호출하면, 튜플 안에 있는 문자열 요소들을 구분자 없이 합쳐서 하나의 문자열로 생성 후 반환합니다.
“구분자”.join(튜플)
myTuple = ("민호", "건우", "현준", "원준", "재형", "동재", "은지")
joined = "#".join(myTuple)
print(joined)
결과값:
“구분자”.join(튜플) 형태로 함수를 호출하면, 튜플 안에 있는 문자열 요소들 사이에 “구분자”를 끼어넣어서 하나의 문자열로 생성 후 반환합니다.
위 예시에서는 구분자로 #을 넣었기 때문에 #을 문자열 요소들 사이에 넣습니다.
” “.join(딕셔너리)
myDict = {"민호": 12, "건우": 14, "현준": 53, "원준": 26, "재형": 62, "동재": 42, "은지": 12}
joined = "".join(myDict)
print(joined)
결과값:
” “.join(딕셔너리) 형태로 함수를 호출하면, 딕셔너리 안에 있는 문자열 키(key)들을 구분자 없이 합쳐서 하나의 문자열로 생성 후 반환합니다.
딕셔너리의 키들만 합치는 것이기에 해당 키들의 값들은 문자열이 아니여도 됩니다.
“구분자”.join(딕셔너리)
myDict = {"민호": 12, "건우": 14, "현준": 53, "원준": 26, "재형": 62, "동재": 42, "은지": 12}
joined = ",\n".join(myDict)
print(joined)
결과값:
“구분자”.join(딕셔너리) 형태로 함수를 호출하면, 딕셔너리 안에 있는 문자열 키(key)들 사이에 “구분자”를 끼어넣어서 하나의 문자열로 생성 후 반환합니다.
딕셔너리의 키들만 합치는 것이기에 해당 키들의 값들은 문자열이 아니여도 되며, 구분자로 ,\n을 넣었기 때문에 반점과 줄바꿈으로 요소들을 구분하는 문자열을 반환합니다.