반응형
이 포스트는 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 |
댓글