300x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- AI
- 프로그래밍
- 동적 프로그래밍
- 딥러닝
- 백준
- 순열
- 코딩 테스트
- 구글 킥스타트
- OS
- 동적프로그래밍
- 프로그래머스
- 파이썬
- linux
- dp
- PYTHON
- 운영체제
- 코딩테스트
- nlp
- BFS
- DFS
- 알고리즘
- 네트워크
- 그래프
- CSS
- google coding competition
- 리눅스
- 코딩
- 킥스타트
- kick start
- 브루트포스
Archives
- Today
- Total
목록shallow copy (1)
오뚝이개발자
[Python] 얕은 복사(shallow copy)와 깊은 복사(deep copy)
dfs, bfs, 백트래킹 문제들을 풀 때 기존의 2차원 리스트를 변경하고 원상태로 다시 되돌려야 할 때가 있다.(예컨대, 방문한 곳의 값을 변경한다거나, 특정 조건에 따른 위치의 값을 변경한다거나) 이 때 만약 처음의 상태를 arr에 저장해두었다고 하고, 이를 복사해 탐색하는 함수(예컨대, dfs나 bfs)의 인자로 넘겨 그래프 탐색을 한다고 하자. 만약 arr를 그대로 함수의 인자로 넘겨버리면 arr의 값이 변경된 채로 다음 탐색을 이어가기 때문에 이를 재사용할 경우에 문제가 된다. 이럴 때 사용할 수 있는 것이 바로 deep copy다. deep copy는 copy라는 모듈을 import해서 사용할 수 있다. >>> import copy >>> a = [[1,2],[3,4]] >>> b = copy..
Language/파이썬
2021. 4. 12. 15:43