码迷,mamicode.com
首页 > 编程语言 > 详细

python基础(深浅拷贝)

时间:2016-09-06 10:31:58      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

本文主要介绍:深浅拷贝                                                                      

注意:在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] = 3
11 print(li)
12 print(li2)
13 
14 # 深拷贝
15 li3 = copy.deepcopy(li)
16 li3[0][1] = 5
17 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基础(深浅拷贝)

标签:

原文地址:http://www.cnblogs.com/pythonlh/p/5844556.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!