이건 진짜 이해가 안 가서 한참 들여다봤습니다. 튜플 안에 리스트가 들어있는 상황인데요.
>>> t = (1, [10, 20])
>>> t[1] += [30]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
튜플은 못 바꾼다니까 그러려니 했어요. 그래서 t 는 그대로겠거니 하고 확인했더니
>>> t
(1, [10, 20, 30])
엥? 에러가 났는데 리스트에는 30이 붙어 있어요. 분명 TypeError 뜨면서 실패했는데 왜 값은 또 바뀌어 있는 거죠? 실패면 아무 일도 없어야 하는 거 아닌가요.
에러도 나고 변경도 되고 둘 다 일어난 게 도무지 앞뒤가 안 맞아서요. 이거 안에서 대체 무슨 순서로 동작하는 건지 설명 좀 부탁드려요.