Python 리스트를 문자열로 변환 join 사용 방법

리스트에 들어있는 값을 하나의 문자열로 변경하는 방법을 알아보겠습니다.

리스트 값을 문자열로 결합하기 위해서는 문자열 메서드인 join()을 사용할 수 있습니다.

‘결합 문자’.join(리스트)

‘결합 문자’에는 리스트의 요소와 요소 사이에 넣을 값을 의미합니다.

결합 문자에 값을 지정하지 않고 ”로 하면 리스트의 요소가 단순히 연결돼 반환됩니다.

샘플을 보도록 하겠습니다.

l = ['aaa', 'bbb', 'ccc']

print('##### 공백 문자 지정')
s = ''.join(l)
print(s + '\n')

print('##### 콤마 지정')
s = ','.join(l)
print(s + '\n')

print('##### 하이푼 지정')
s = '-'.join(l)
print(s + '\n')


print('##### 개행 지정')
s = '\n'.join(l)
print(s)

 

결과

##### 공백 문자 지정
aaabbbccc

##### 콤마 지정
aaa,bbb,ccc

##### 하이푼 지정
aaa-bbb-ccc

##### 개행 지정
aaa
bbb
ccc

 

리스트에 저장되어있는 문자열 값이 전부 결합되어 하나의 문자열 형태로 되었습니다.

리스트 요소에 문자열 값이 아닌 숫자가 들어가 있는 경우 join()을 사용하면 에러가 발생합니다.

l = [0, 1, 2]

s = '-'.join(l)

 

결과

TypeError: sequence item 0: expected str instance, int found

 

리스트에 숫자가 들어있는 경우에는, 각 요소를 str() 함수를 사용해 문자열로 변환해야 합니다.

l = [0, 1, 2]

s = '-'.join([str(n) for n in l])
print(s)

 

결과

0-1-2

 

리스트에 숫자로 저장되어있는 요소를 str() 함수를 사용해 문자열로 변경하니 에러가 발생하지 않습니다.

결과도 하나의 문자열로 결합돼 출력되었습니다.

join()은 튜블에서도 동일하게 사용할 수 있습니다.

댓글