얕은복사 & 깊은복사
얕은복사 & 깊은복사 소제목 입니다. 얕은 복사 (shallow copy) & 깊은복사 list, dictionary, set 의 경우, mutable한 객체이며, bool, int, float, tuple, str 등은 immutable한 객체이다. multable 객체의 변수 간 대입을 하면 얕은 복사가 이루어진다. 아래 코드와 같이 리스트 a를 b에 할당하여 메모리 주소를 확인하면 서로 다른 주소값을 가진다. 하지만 mutable 객체 안에 mutable 객체인 경우, 동일한 주소값을 가지게 된다. 즉, a[1]의 값을 바꾸게 되면, b[1]의 값도 바뀌게 되는 문제가 생긴다. copy 메소드 역시 얕은 복사이다. 아래 코드에서 a[1]에 5를 추가하였는데, b[1]의 값도 바뀌게 되는것이다. 이러..
2023. 12. 22.
Iterator (이터레이터)
Iterator (이터레이터) 이터레이터 개념과 iter, next에 대한 스터디 iterator iter, next 함수에 대해 알아보기 전에 iterator(이터레이터)에 대해 알아보자. iterator는 반복 가능한 객체를 의미하며, 문자열, 리스트, 딕셔너리, 세트 등을 의미함. __iter__ 메서드가 있으면 iterator 이다. dic 메서드를 통해 확인 가능한다. print(dic([1, 2, 3])) ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute..
2023. 12. 14.