파이썬 깊은 복사
코테 대비를 하다보면 원본배열을 복사해야할 때가 많다.
graph=[0,0,0,0,0] #원본배열
tempgraph=graph #복사
tempgraph[0]=1 #복사 배열 수정
print(graph) #[1,0,0,0,0]출력
bfs 문제에서 아무생각없이 이런식으로 대입했다가 한참 헤맸다..
list,set 같은 애들한테 이렇게 하면 원본 객체를 복사하는게 아니라 같은 주소값을 참조하는 것 뿐이므로...이런사태가 발생했다. 원본 객체에 영향을 줄 수 없는 복사본 객체를 만드려면 copy.deepcopy
를 사용해야 한다.
import copy
graph=[0,0,0,0,0]
tempgraph=copy.deepcopy(graph)
tempgraph[0]=1
print(graph) #[0,0,0,0,0]출력
print(tempgraph) #[1,0,0,0,0]출력
카피 쩜찍고 딮카피...외우자
Author And Source
이 문제에 관하여(파이썬 깊은 복사), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jiwon_choi/파이썬-깊은-복사저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)