Notice
Recent Posts
Recent Comments
Link
투케이2K
33. (python/파이썬) 배열 (array) 깊은 복사 (deep) , 얕은 복사 (copy) 수행 실시 본문
[개발 환경 설정]
개발 툴 : SublimeText (PyScript)
개발 언어 : python
[소스 코드]
<!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>
[결과 출력]
반응형
'Python' 카테고리의 다른 글
35. (python/파이썬) 곱하기 (*) 를 사용해 문자열 연산 반복 출력 실시 (0) | 2022.07.20 |
---|---|
34. (python/파이썬) startswith , endswith , find 를 사용해 특정 문자 시작 , 종료 여부 확인 및 위치 인덱스 값 출력 (0) | 2022.07.20 |
32. (python/파이썬) import uuid 를 사용해서 랜덤 고유값 생성 실시 (0) | 2022.07.19 |
31. (python/파이썬) upper , lower 사용해 영어 대문자 및 소문자 출력 실시 (0) | 2022.07.19 |
30. (python/파이썬) import base64 사용해 base64 encode (인코딩) , decode (디코딩) 수행 실시 (0) | 2022.07.19 |
Comments