
오늘은 리스트 슬라이싱 코드를 살펴보겠습니다 a = b a = b[:] a[:] = b 3개의 경우를 살펴보겠습니다. 먼저 첫번째 경우를 살펴보겠습니다. a = b 를 하면 a는 b의 객체의 주소를 담게 되서 a 와 b는 같은 [4, 5, 6] 을 가지고 있습니다. 그래서 a나 b에 새로운걸 대입하는 것이 아닌 리스트를 변경하는 작업을 하면 둘 다 바뀌게 됩니다. 위의 코드를 실행하면 b.append(7)을 실행해도 a의 리스트에도 7이 추가되고 a[0]를 변경해도 b가 변경됩니다. 두번째로 a = b[:] 인 경우를 살펴보겠습니다. 를 실행하게 되면 b의 id는 그대로이지만 a의 id가 바뀌어 새로운 객체가 할당되었지만 b가 가르키고 있는 객체와는 다른 객체임을 알 수 있고 a와 b는 값만 같은 다른 ..
재미있는 코드들
2021. 5. 2. 04:28