티스토리 뷰

파이썬에서 알고리즘 문제를 풀다보면 리스트나 객체를 변형해야 할 일이 있다. ex) permutation 문제, 그런데 파이썬에서는 모든 변수가 다 객체이므로 리스트를 그냥 a= examplelist로 복사하면 파이썬 특성상 a는 example list를 지시하게 된다. 따라서 a.append(7)같은 명령을 할 시 examplelist도 변해버려서 문풀에 문제가 생기는 경우가 있다. 그런 경우 그냥 리스트를 참조 없이 깊은 복사하고 싶다면, a = examplelist[:]와 같이 해야한다.

혹은 .copy() method를 사용할 수도 있으나 리스트 내에 중첩된 리스트가 있는 경우 .deepcopy()를 사용해야 한다.

댓글