【python系列】字典的浅拷贝和深拷贝
来源:互联网 发布:mysql修改表中数据 编辑:程序博客网 时间:2024/05/21 06:52
第一种(使用‘=’直接赋值)是浅拷贝
第二种(使用函数 copy())是深拷贝
python 中有两种方式可以实现将一个变量的值传递给另一个变量。
一种是使用‘=’直接赋值。另一种是使用函数 copy();例如:>>> d = {'a':'a','b':'b'}
>>> e = d.copy()
>>> f = d
>>> print e,f
{'a':'a','b':'b'}{'a':'a','b':'b'}
那么它们的效率又如何呢?我们再来看一下:
>>> import time
>>> start = time.time()
>>> g = d.copy()
>>> end = time.time()
>>> print end-start
31.8900001049
>>> start = time.time()
>>> h = d
>>> end = time.time()
>>> print end-start
19.125
我们发现使用‘=’直接赋值会比使用copy()函数快很多。为什么会这样呢?这是因为使用‘=’就等于是直接把这个d变量的引用地址赋给了h,也就是d和h两个变量都同时指向同一个存储地址,因此这种方式非常的快。而copy()呢,它不仅拷贝了d的值,而且拷贝了d的存储地址,也就是说d和g指向的是不同的存储地址。我们看一下下面的代码就明白了。
>>> h.clear()
>>> print h
{}
>>> print d
{}
>>> g
{'a': 'c', 'b': 'b'}
回想一下吧。就是这个理。
摘自:http://blog.sina.com.cn/s/blog_881a241b0100wssb.html
0 0
- 【python系列】字典的浅拷贝和深拷贝
- Python中字典的浅拷贝和深拷贝问题
- Python-字典 深拷贝&浅拷贝
- python 的深拷贝和浅拷贝
- Python的浅拷贝和深拷贝
- Python的浅拷贝和深拷贝
- Python的浅拷贝和深拷贝
- python的浅拷贝和深拷贝
- Python 的深拷贝 和 浅拷贝
- Python对象的拷贝,浅拷贝和深拷贝。
- python第三方库系列之五--拷贝copy库(深拷贝和浅拷贝)
- Python浅拷贝和和深拷贝
- python的引用和浅拷贝和p深拷贝
- python字典复制(浅拷贝and深拷贝)
- Python深拷贝和浅拷贝
- python 浅拷贝和深拷贝
- python中的深拷贝和浅拷贝
- Python之深拷贝和浅拷贝
- 蓝牙的Baseband说明
- CGAffineTransform浅析
- 黑马程序员-学习日志-多线程
- 十句话受用一生
- 黑马程序员---正则表达式应用
- 【python系列】字典的浅拷贝和深拷贝
- Java 7 Pocket Guide 读书笔记
- from....import 导入的总结
- JVM优化
- 又到一年了,想想可悲的年终奖是去还是留。。。。。。
- MyCollector - 快捷采集器 :让你更方便的记录快乐
- windows phone 绘制图形操作
- Android Activity定制需要的Title
- STL技术总结