본문 바로가기
개발 관련 공부/코테용 파이썬

파이썬 깊은 복사

by 슴새 2022. 9. 14.
반응형
이 포스트는 2021.12~2022.09 기간동안 벨로그에 작성한 글을 티스토리에 옮겨 적은 것입니다.

코테 대비를 하다보면 원본배열을 복사해야할 때가 많다.

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]출력

카피 쩜찍고 딮카피...외우자

반응형

'개발 관련 공부 > 코테용 파이썬' 카테고리의 다른 글

문자열로 된 수식 계산하기  (0) 2022.09.16
알파벳 배열 쉽게 만들기  (0) 2022.09.14
힙과 우선순위 큐  (0) 2022.09.14
itertools  (0) 2022.09.13
사전자료형, 집합 자료형  (1) 2022.09.13

댓글