Python의 깊은 복사와 얕은 복사에 대한 간단한 설명(코드 포함)

不言
풀어 주다: 2018-10-27 16:03:55
앞으로
1995명이 탐색했습니다.

이 기사는 Python의 깊고 얕은 복사에 대한 간단한 설명을 제공합니다(코드 포함). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

검토하고 얕은 사본을 만드세요.

위 코드:

# -*- coding: utf-8 -*-
"""
Created on Thu Sep 20 14:18:48 2018

@author: Lenovo
"""

import copy,json

a={"ab":1,"cd":{"ef":2},"gh":[1,2,3]}
print "a1:",a

b=dict(a["cd"])
c=copy.copy(a)
d=copy.deepcopy(a)
e=a["cd"]
a["cd"]["xy"]=3
a["fx"]=5
a["cd"]["ef"]=20
print "a2:",a
print "b :",b
print "c :",c
print "d :",d
print "e :",e
로그인 후 복사

결과:

a1: {'gh': [1, 2, 3], 'ab': 1, 'cd': {'ef': 2}}
a2: {'gh': [1, 2, 3], 'fx': 5, 'ab': 1, 'cd': {'xy': 3, 'ef': 20}}
b : {'ef': 2}
c : {'cd': {'xy': 3, 'ef': 20}, 'ab': 1, 'gh': [1, 2, 3]}
d : {'cd': {'ef': 2}, 'ab': 1, 'gh': [1, 2, 3]}
e : {'xy': 3, 'ef': 20}
로그인 후 복사

결과에서 볼 수 있습니다.

dict() 명령은 새 사전을 생성합니다.

"="할당은 "참조" 개념을 사용하는 것과 동일합니다. copy .copy는 복사된 정보를 수정하면 그에 따라 수정됩니다. 복사되지 않은 다른 정보를 추가하거나 수정하면 얕은 복사 개체는 수정되지 않습니다.

예: 범위 c 복사본의 키는 "gh", "ab", "cd" 세 개의 키가 있습니다. 이 세 키의 값을 수정하면 복사된 객체도 그에 따라 수정됩니다. "fx" 키를 추가하면 복사된 개체가 수정되지 않습니다.

copy.deepcopy는 완전히 새로운 객체를 생성하는 깊은 복사본입니다.

위 내용은 Python의 깊은 복사와 얕은 복사에 대한 간단한 설명(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿