조금씩 꾸준히 완성을 향해

[Python] String method / 문자열 연결 join() 본문

Python/문법

[Python] String method / 문자열 연결 join()

all_sound 2022. 8. 24. 00:02

join()

 

사용법이 좀 특이하고 광범위해서 공부할 때 헷갈렸던 메소드 중 하나이다. 

 

흔히 리스트를 문자열로 변환할 때 사용한다고 소개하는데, 이는 한정된 사용법이다. 

 

 

value가 string이기만 하다면 

list, dictionary, set, string, tuple 등 모든 Iterable (반복가능한 객체) 에 사용가능하다.  

 

 

 

< 사용 방법 >

str.join(seq)

str 에는 반환될 문자열 사이사이에 들어갈 구분자를 넣고,

시퀀스(seq)에는 iterable 데이터를 넣는다. 

 

 

 ▶ list -> string

address_list = ['서울시', '종로구', '홍지문길', '33']
address_str = ' '.join(address_list)
print(address_str)  
#서울시 종로구 홍지문길 33

문자열 리스트를  ' ' 공백으로 연결해서 하나의 문자열을 생성한 예시이다. 

 

 

 ▶ tuple -> string

time = ("12", "11", "45")
clock = ":".join(time)
print(clock)  #12:11:45

튜플의 값들을 구분자(:)으로 연결해서 하나의 문자열을 생성한 예시이다. 

 

 

 ▶ string -> string

num = '123456789'
print((',').join(num))
#1,2,3,4,5,6,7,8,9

숫자들이 일렬로 담긴 문자열을 구분자 콜론(,)을 추가한 문자열로 변환한 예시이다. 

 

 

 ▶ dictionary -> string

myInfo = {"name": "Dasol", "country": "Korea"}
separator = "&"
print(separator.join(myInfo))
#name&country

dictionary에서 join 메소드를 사용할 경우, 만들어지는 문자열에는 key 값만이 들어온다. 

 

 

 ▶ set -> string

seasons = {'spring', 'summer', 'fall', 'winter'}
print('-'.join(seasons)) 
#winter-spring-summer-fall

 

순서가 없는 set의 특성상 합쳐지는 문자열의 배치는 랜덤으로 정해진다.