본문 바로가기
<개인공부>/[Python]

[python] 파이썬 join 함수 정리 및 예제 (문자열 합치기)

by 사용자 BlockDMask 2021. 1. 14.
반응형

안녕하세요. BlockDMask입니다.
오늘은 파이썬에서 리스트를 문자열로 일정하게 합쳐주는 join 함수에 대해서 알아보려고 합니다.

join 함수는 문자열을 다룰 때 유용하게 사용할 수 있는 함수이니 꼭 기억해두고 가시면 좋을 것 같습니다.

<목차>
1. join 함수 설명
2. join 함수 예제

 

1. 파이썬 join 함수 설명


함수의 모양은 아래와 같습니다.

''.join(리스트)

'구분자'.join(리스트)

join 함수는 매개변수로 들어온 리스트에 있는 요소 하나하나를 합쳐서 하나의 문자열로 바꾸어 반환하는 함수입니다.

- ''.join(리스트)
''.join(리스트)를 이용하면 매개변수로 들어온 ['a', 'b', 'c'] 이런 식의 리스트를 'abc'의 문자열로 합쳐서 반환해주는 함수인 것입니다.

- '구분자'.join(리스트)
'구분자'.join(리스트)를 이용하면 리스트의 값과 값 사이에 '구분자'에 들어온 구분자를 넣어서 하나의 문자열로 합쳐줍니다.
'_'.join(['a', 'b', 'c']) 라 하면 "a_b_c" 와 같은 형태로 문자열을 만들어서 반환해 줍니다.

예. 눈치 빠르신 분들은 눈치채셨겠지만
처음에 소개 해준 ''.join(리스트)는 '구분자'.join(리스트)에서 '구분자'가 그냥 공백인 것과 같습니다.

즉, 정리하자면 join함수의 찐 모양은 '구분자'.join(리스트) 입니다.

 

 

2. 파이썬 join 함수 예제


2-1) join 예제 리스트를 문자열로

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
= ['a''b''c''d''1''2''3']
print(a)
print()
 
# 리스트를 문자열로 : join 이용
result1 = "".join(a)
print(result1)
 
 
# 리스트를 문자열로 : 하나하나 문자열을 더해서.
result2 = ''
for v in a:
    result2 += v
 
print(result2)
 
cs

파이썬 문자열 합치기

이렇게 리스트를 문자열로 합치는 방법을 두 가지를 보여드렸습니다.

for 반복문을 이용해서 리스트 내부의 문자열을 하나하나 더해서 하나의 문자열을 만들었고,

파이썬이 제공해주는 join 함수를 이용해서 좀 더 편리하게 리스트를 문자열로 만들어 보았습니다.

여러분은 어떤 방법이 마음에 드시나요? 코딩에는 정답이 없지만, 이미 만들어진 함수를 굳이 거절할 필요는 없겠죠?

 

 

2-2) join 구분자 예제1

1
2
3
4
5
6
7
8
9
10
11
12
13
# 원본 리스트
= ['BlockDMask''python''join''example']
print(a)
print()
 
# 리스트를 문자열로 합치기
result1 = "_".join(a)
print(result1)
 
# 리스트를 문자열로 합치기
result2 = ".".join(a)
print(result2)
 
cs

파이썬 문자열 합치기 join 함수 예제

join() 함수를 이용하면 위와 같이 "_".join(a), ".".join(a) 를 이용하면 문자열로 이루어진 리스트를 보기 좋게 일정한 규칙을 통해서 합칠 수 있습니다.

 

 

2-3) join 구분자 예제2

1
2
3
4
5
6
7
8
9
10
# 원본 리스트
= ['BlockDMask''python''example''happy new year']
print(a)
print()
 
# 리스트를 문자열로 합치기
result = ".\n".join(a)
 
print(result)
 
cs

파이썬 join 예제

이렇게 구분자를 '.\n'으로 두고 join 함수를 호출하면 리스트의 문자 문자 사이마다 온점과 개행이 들어가게 됩니다.
참 편리하죠?
'.\n'.join(문자열 리스트) 입니다.

이상으로. 리스트를 문자열로 이쁘게 합쳐주는 join 함수에 대해서 알아보았습니다.
'구분자'.join(리스트) 기억해주세요.
감사합니다.

반응형

댓글1

  • 심야조 2021.03.11 10:20

    인강만으론 부족해서 찾아 들어오게되었습니다. 공부 잘 하고 갑니다 :)
    답글