티스토리 뷰

리스트, 튜플과 같은 자료구조에서는 lst[3] = 'abc' 와 같이 자료형의 인덱스로 직접 수정이 가능하지만, 문자열에서는 string[3] = 'a' 와 같은 방법이 불가능하다. 

 

파이썬에서는 immutable(수정이 불가능함)한 객체와 mutable(수정이 가능함) 한 객체로 나뉜다. immutable한 자료형에는 int, str, float, tuple 등이 있고, mutable한 객체에는 list, dictionary, set 등이 있다.

 

실제 우리가 int a = 3 다음과 같이 선언이 된다면, a라는 변수는 데이터 3과 연결이 된다. 이는 int b = 3을 선언한 후 print(id(a)), print(id(b))를 컴파일 해보면 a 와 b의 레퍼런스가 같은 것을 알 수 있다. 이런 변경불가능한 객체는 문자열도 포함이다. 그래서 문자열의 인덱스를 통해서 바로 데이터를 수정할 수 없다. 그래서 다음과 같은 여러 방법들로 문자열을 처리한다.

 

1. 스트링에 스트링을 더함

string += string + 'abc'
string += 'abc' + string

2. 스트링을 리스트로 변환 후 변경

string = 'abcde
lst = list(string)
lst[3] = 'k'
string = "".join(lst)

 

<에러코드>
TypeError: 'str' object does not support item assignment

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함