Notice
Recent Posts
Recent Comments
Link
투케이2K
47. (TWOK/ALGORITHM) [Python] 문법 - 깊은 복사 (deep) , 얕은 (copy) 복사 수행 본문
투케이2K 알고리즘
47. (TWOK/ALGORITHM) [Python] 문법 - 깊은 복사 (deep) , 얕은 (copy) 복사 수행
투케이2K 2022. 8. 17. 08:42[환경 설정 및 설명]
언 어 : Python
설 명 : 문법 - 깊은 복사 (deep) , 얕은 (copy) 복사 수행
[소스 코드]
<!DOCTYPE HTML>
<html lang="ko">
<head>
<title>WebTest</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- [pyScript 사용 관련 CDN 설정 실시] -->
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<!--
// -----------------------------------------
[요약 설명]
// -----------------------------------------
깊은 복사 : 새로운 객체를 생성한 후 독립적인 원본 데이터를 채웁니다
// -----------------------------------------
얕은 복사 : 새로운 객체를 생성한 후 참조할 수 있는 데이터를 채웁니다
// -----------------------------------------
차이점 : [원본 수정 시]
- 깊은 복사 : 원본이 수정 되어도 복사된 배열은 독립된 값을 유지합니다
- 앝은 복사 : 원본이 수정 되면, 참조하는 값이 변경되어 얕은 복사 배열도 변경됩니다
// -----------------------------------------
-->
<!-- [pyScript 구문 정의 실시] -->
<py-script>
from copy import deepcopy
print("=====================================")
print("[main start]")
print("=====================================")
# [초기 변수 및 데이터 선언 실시]
origin_Array = [1, [2, 3, 4]]
deep_Array = deepcopy(origin_Array)
simple_Array = origin_Array.copy()
# [각 배열에 할당된 id 확인]
origin_Id = id(origin_Array)
deep_Id = id(deep_Array)
simple_Id = id(simple_Array)
# [원본 데이터 수정 실시]
origin_Array[1].append("또만나")
# [결과 출력 실시]
print("origin_Array : {}".format(origin_Array))
print("deep_Array : {}".format(deep_Array))
print("simple_Array : {}".format(simple_Array))
print("origin_Id : {}".format(origin_Id))
print("deep_Id : {}".format(deep_Id))
print("simple_Id : {}".format(simple_Id))
</py-script>
</head>
<!-- [body 콘텐츠 작성] -->
<body>
</body>
</html>
[참고 사이트]
반응형
'투케이2K 알고리즘' 카테고리의 다른 글
Comments