首页 > 代码库 > python基础(深浅拷贝)

python基础(深浅拷贝)

本文主要介绍:深浅拷贝                                                                      

注意:在python中有一种自己的优化机制,通常来说字符串在内存中的地址是不相同的,但是在python中,不管是深拷贝还是浅拷贝,只要是通过拷贝的字符串,两个地址是相同的

一、创建

 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # author by lh 4  5 import copy 6  7 li = [[1, 2], 3, 4] 8 # 浅拷贝 9 li2 = li.copy()10 li2[0][1] = 311 print(li)12 print(li2)13 14 # 深拷贝15 li3 = copy.deepcopy(li)16 li3[0][1] = 517 print(li3)18 print(li)

二、内存中的实现代码:

 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # author by lh 4  5 import copy 6 n1=lh 7 n2=copy.copy(n1) 8 n3=copy.deepcopy(n1) 9 print id(n1)10 print id(n2)11 print id(n3)12 13 n4={k1:lh,n2:123,n3:4556}14 n5=copy.copy(n4)15 print id(n4)16 print id(n5)17 print id(n4[k1])18 print id(n5[k1])

 

python基础(深浅拷贝)