Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
更新时间:2008年09月06日 14:23:13 作者:
Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块。
1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。
2. copy.deepcopy 深拷贝 拷贝对象及其子对象
一个很好的例子:
import copy
a = [1, 2, 3, 4, ['a', 'b']] #原始对象

b = a #赋值,传对象的引用
c = copy.copy(a) #对象拷贝,浅拷贝
d = copy.deepcopy(a) #对象拷贝,深拷贝

a.append(5) #修改对象a
a[4].append('c') #修改对象a中的['a', 'b']数组对象

print 'a = ', a
print 'b = ', b
print 'c = ', c
print 'd = ', d
输出结果:
a = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
b = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
c = [1, 2, 3, 4, ['a', 'b', 'c']]
d = [1, 2, 3, 4, ['a', 'b']]
2. copy.deepcopy 深拷贝 拷贝对象及其子对象
一个很好的例子:














输出结果:
a = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
b = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
c = [1, 2, 3, 4, ['a', 'b', 'c']]
d = [1, 2, 3, 4, ['a', 'b']]
您可能感兴趣的文章:
- python中浅复制copy与深复制deepcopy
- 图解Python中浅拷贝copy()和深拷贝deepcopy()的区别
- Python copy()与deepcopy()方法之间有什么区别
- python中list列表复制的几种方法(赋值、切片、copy(),deepcopy())
- Python 中的 copy()和deepcopy()
- Python-copy()与deepcopy()区别详解
- Python中浅拷贝copy与深拷贝deepcopy的简单理解
- python中copy()与deepcopy()的区别小结
- 浅谈python中copy和deepcopy中的区别
- python中copy和deepcopy的使用区别
相关文章
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
这篇文章主要给大家介绍了关于Python技巧之在列表、字典、集合中根据条件筛选数据的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧2018-07-07使用Python的Tornado框架实现一个简单的WebQQ机器人
这篇文章主要介绍了使用Python的Tornado框架实现一个简单的WebQQ机器人,Tornado的异步特性可以提高I/O性能,需要的朋友可以参考下2015-04-04利用Python自制网页并实现一键自动生成探索性数据分析报告
这篇文章主要介绍了利用Python自制了网页并实现一键自动生成探索性数据分析报告,文章内容具有一定的参考价值,需要的小伙伴可以参考一下2022-05-05
最新评论