[Python] join 함수

매일매일 ML, DL만 공부하다 보니 기본적인 파이썬 문법을 다 까먹었다. 큰일이다.. 그래도 하나하나 정리하면 다시 기억나겠지..!!

 

이번에 정리할 함수는 .join()함수이다.

 

.join()

 

.join() 함수의 경우 문자열을 다룰 때 유용하게 사용할 수 있는 함수로 매개변수로 들어온 리스트에 있는 요소 하나하나를 합쳐서 하나의 문자열로 바꾸어 반환하는 함수이다.

 

join의 사용은 크게 2가지 경우로 나누어 생각해볼 수 있다.

 

첫번째 경우는 "".join(리스트)를 이용하면 매개변수로 들어온 리스트의 원수를 문자얄로 합쳐서 반환해주는 함수다.

 

아래 예시로 감을 잡아보자.

 

n_list = [1, 2, 3, 4, 5]

result = "".join(n_list)
print(result)

# 결과값
# 12345

 

두번째 경우는 "구분자".join(리스트)이다. 첫번째 경우와 비슷한 방식으로 이번엔 공백이 아니라 구분자를 기준으로 리스트를 합쳐서 반환해준다. 즉, 첫번째 경우는 ""(공백)이 구분자인 경우라고 생각하면 된다.

 

예시는 아래와 같다.

 

hello_list = ['hello', 'world']

result = "-".join(hello_list)
print(result)

# 결과값
# hello-world

 

.join() Error

 

int형 리스트를 join하려고 할 때, 문자열 리스트를 join할때처럼 하게 된다면, 아래와 같은 에러가 발생한다.

 

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

 

직역해보면, join 할 때는 str이 들어가야하지만, int형 원소가 들어갔다는 의미라고 볼 수 있다.

 

해결방법은 간단하다. 말 그대로 list원소들을 str로 바꿔주면 된다. 예시는 아래와 같다.

 

# Error 예시

n_list = [1, 2, 3, 4]
result = "".join(int_list)

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

 

# 해결 방안

n_list = [1, 2, 3, 4]
result = ''.join(map(str, n_list))

print(int(result))

# 결과값
# 1234

'Python' 카테고리의 다른 글

[Python] Class 정복하기 (1)  (0) 2024.06.07
[Python] 모듈(Module)  (1) 2024.04.26
[Python] 이스케이프 시퀸스(Escape Sequence)  (0) 2024.04.26
[Python] list 함수  (1) 2024.04.25