티스토리 뷰

반응형

알고리즘 문제를 풀다가 문자열을 이루고 있는 문자들을 배열로 다뤘다가 다시 문자열로 합치는 동작이 필요했다. Stack, Queue 같은 자료구조에 문자열을 이루고 있는 캐릭터들을 넣었다가 빼는 동작을 하고 다시 문자열로 만드는 동작이 필요했다.

 

파이썬의 String 클래스는 'join(list)' 메서드를 제공하고 있다. join 메서드를 이용하면 리스트를 구성하고 있는 각각의 캐릭터들을 하나의 문자열 형태로 변경해서 반환해준다. 예를들어보자.

list = ['H', 'E', 'L', 'L', 'O', ' ', 'W', 'O', 'R', 'L', 'D']

print(list)

print(''.join(list)) # List의 Element들을 공백없이 붙임
print(' '.join(list)) # List의 Element들을 공백을 이용해서 구분
print('-'.join(list)) # List의 Element들을 '-' 문자를 이용해서 구분
print('\n'.join(list)) # 한줄에 하나씩 출력

list라는 이름의 배열에 "HELLO WORLD"를 구성하고 있는 문자들이 들어있다. 이 코드를 실행해보면 다음과 같은 결과를 출력한다.

join 메서드 앞에 있는 캐릭터를 이용해서 리스트에 있는 각각의 캐릭터들을 연결시켜 하나의 문자열로 만들어 준다. 만일 join 메서드에 사용한 리스트에 캐릭터 타입이 아닌 객체가 속해있으면 다음과 같은 TypeError가 발생한다.

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

문자열이 아닌 정수형 값이 섞여 있다는 에러다.

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함