浅拷贝深拷贝Python对象的拷贝
2013-05-30 21:14
411 查看
最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--浅拷贝深拷贝
深拷贝:拷贝对象及其子对象。
浅拷贝:只拷贝对象本身,不会拷贝对象的子对象。
浅拷贝有两种方法,一种是切片b=a[:],另外一种是使用copy库c=copy.copy(a)。
![](http://img.blog.csdn.net/20130530150313274)
每日一道理
冰心说道:“爱在左,同情在右,走在生命的两旁,随时撒种,随时开花,将这一径长途,点缀得香花弥漫,使穿枝拂叶的行人,踏着荆棘,不觉得痛苦,有泪可落,却不是悲凉。”
怎么验证这样是浅拷贝呢?
![](http://img.blog.csdn.net/20130530150553768)
可以看到列表b和列表c中的子列表只是一个引用类型,并非列表a的子列表的拷贝。
深拷贝的方法是使用copy库,下图可以看到列表d的子列表并没有随着a[4]的转变而转变。
![](http://img.blog.csdn.net/20130530151055675)
好了今天就写到这里了。
文章结束给大家分享下程序员的一些笑话语录:
一程序员告老还乡,想安度晚年,于是决定在书法上有所造诣。省略数字……,准备好文房4宝,挥起毛笔在白纸上郑重的写下:Hello World
---------------------------------
原创文章 By
子对象和定义
---------------------------------
一、定义
Python对象的拷贝分为两种:深拷贝和浅拷贝。深拷贝:拷贝对象及其子对象。
浅拷贝:只拷贝对象本身,不会拷贝对象的子对象。
二、举例
有列表a=[1,2,3,4,[5,6]]。浅拷贝有两种方法,一种是切片b=a[:],另外一种是使用copy库c=copy.copy(a)。
每日一道理
冰心说道:“爱在左,同情在右,走在生命的两旁,随时撒种,随时开花,将这一径长途,点缀得香花弥漫,使穿枝拂叶的行人,踏着荆棘,不觉得痛苦,有泪可落,却不是悲凉。”
怎么验证这样是浅拷贝呢?
可以看到列表b和列表c中的子列表只是一个引用类型,并非列表a的子列表的拷贝。
深拷贝的方法是使用copy库,下图可以看到列表d的子列表并没有随着a[4]的转变而转变。
好了今天就写到这里了。
文章结束给大家分享下程序员的一些笑话语录:
一程序员告老还乡,想安度晚年,于是决定在书法上有所造诣。省略数字……,准备好文房4宝,挥起毛笔在白纸上郑重的写下:Hello World
---------------------------------
原创文章 By
子对象和定义
---------------------------------
相关文章推荐
- Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
- python中的对象拷贝
- 【Python】对象拷贝、对象传参、对象引用
- python3的对象引用、浅拷贝与深拷贝
- Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
- Python中的对象引用、浅拷贝与深拷贝
- Python对象的深拷贝和浅拷贝详解
- python: 序列化/反序列化及对象的深拷贝/浅拷贝
- Python pandas.DataFrame在用ix, loc, iloc 索引的时候就相当于拷贝copy了一个对象
- python中对象的赋值、浅拷贝和深拷贝
- Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
- python对象拷贝
- Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
- 004_001 Python 对象拷贝
- python 对象拷贝——浅拷贝和深拷贝 之函数传递——值传递还是引用传递?
- Python Cookbook 4.1 复制(拷贝)对象(浅复制和深复制)
- Python对象的拷贝
- Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
- Python对象拷贝——深拷贝与浅拷贝
- 谈谈Python中对象拷贝