Notice
Recent Posts
Recent Comments
Link
스토리지
'str' object does not support item assignment 본문
다른 언어에서 문자열의 특정 인덱스에 다른 값을 넣을려고 한다면?
string s = "abcdef";
s[0] = z;
위 처럼 그냥 인덱스에 접근하면 된다.
하지만 Python 에서는 다음과 같은 방법이 적용되지 않는다.
tmp = "Hello"
tmp[0] = "a" # 'str' object does not support item assignment
이유
Pythom에서 한번 생성되고 그 후 변경하지 못하는 타입을 immutable 타입이라고 한다. 그와 반대되는 개념은 mutable이다.
Mutable | Immutable |
list dict set bytearray user-defined classes |
int float decimal complex bool string tuple range frozenset bytes |
그러면 위에서 0번째 Index의 값만 바꿔주려고 하면 어떻게 해야될까?
문자열은 문자의 List형태이기 때문에 범위를 지정할 수 있다. 이 범위를 이용해야 한다.
tmp = "Hello"
print(tmp)
tmp = 'a' + tmp[1:] # a + tmp의 1번 인덱스부터 끝까지
print(tmp)
바꾸려는 데이터와 원래 있던 데이터를 쪼개서 따로 처리를 해주어야 한다... 매우 귀찮다 정말
'Python' 카테고리의 다른 글
[08.25] DFS (Depth-First-Search) (0) | 2021.08.25 |
---|---|
[08.17] Python에서 데이터 입출력하기 (0) | 2021.08.17 |
[08.17] Function (0) | 2021.08.17 |
[08.17] List Comprehension (0) | 2021.08.17 |
[07.15] 파이썬 3일차 - 리스트 2 (0) | 2021.07.15 |
Comments