본문 바로가기
  • 시 쓰는 개발자
프로그래밍 문법/Python 문법

리스트와 문자열은 동일한가??

by poetDeveloper 2023. 3. 6.

파이썬 문법에서 문자열을 리스트처럼 다룰 수가 있기에 종종 이 둘이 같은지 헷갈릴 때가 있다. 예를 들면 name = "kim min su" 라고 하면, name[1] 이라고 할 때 i가 출력됨을 알 수 있다. 그렇다면 파이썬에서 리스트와 문자열은 동일하다고 말할 수 있을까??

 

정답은 "No"이다.

 

리스트와 문자열은 모두 시퀀스(sequence) 자료형이지만, 내부 구현과 사용 방법에서 차이가 있다. 예를 들어, 리스트는 가변(mutable) 자료형라서 원소들을 추가, 삭제, 변경할 수 있지만, 문자열은 불변(immutable) 자료형이라 원소를 변경할 수 없다. 이는 굉장히 굉장히 중요한 사실이다. 이걸 모르고 문자열을 리스트처럼 생각하고 계속 바꾸려고 시도한다면 코딩 테스트에서 낭패를 볼 수 있다. 그 외에도 문자열은 append가 안돼서 +나 join을 써서 원소들을 합쳐야 하는 등의 차이도 있다.

 

평소에는 문자열을 리스트처럼 생각하고 자유롭게 왔다갔다 하면서 사용하겠지만, 이 사실을 반드시 알고 사용하자.