[Python] list, set, dict 컨테이너
알고리즘을 하면서 주의할 점이 list, set, dict 등의 컨테이너 타입을 쓸 때이다. 컨테이너 타입은 일반적으로 복사를 하게 되면 주소값이 들어가 변경하게 되면 복사된 값까지 그대로 옮겨가게 되기 때문이다. s = set() s.add(1) ss = s s.add(2) print(ss) # 결과 {1,2} l = [tuple()]*17 l[0] = (1,2) ll = l l[0] = (1,3) print(ll) # [(1, 3), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), ()] 그러므로 복사를 하기 위해선 copy에 있는 deepcopy를 사용 혹은 리스트 컴프리헨션을 사용하여 복사해줘야 한다.