이 기사는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!