python append()与深拷贝、浅拷贝
来源:互联网 发布:淘宝代运营销售话术 编辑:程序博客网 时间:2024/05/22 02:03
python append()与深拷贝、浅拷贝
深浅拷贝
在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用。我们称之为浅拷贝。
在python中,为了使当进行赋值操作时,两个变量互补影响,可以使用copy模块中的deepcopy方法,称之为深拷贝。
append()函数
当list类型的对象进行append操作时,实际上追加的是该对象的引用。
示例:
alist = []num = [2]alist.append( num )id( num ) == id( alist[0] )输出: True
如上例所示,当num发生变化时(前提是id(num)
不发生变化),alist的内容随之会发生变化。往往会带来意想不到的后果,想避免这种情况,可以采用深拷贝解决:
alist.append( copy.deepcopy( num ) )
PS:
id()函数:返回对象的唯一标识,可以类比成该对象在内存中的地址。
0 0
- python append()与深拷贝、浅拷贝
- python 深拷贝与浅拷贝以及list.append( self )
- python 深拷贝与浅拷贝以及list.append( self )
- Python的浅拷贝与深拷贝
- python/c++ 深拷贝与浅拷贝
- Python 深拷贝与浅拷贝
- Python中的浅拷贝与深拷贝
- python 浅拷贝与深拷贝
- Python的深拷贝与浅拷贝
- Python中深拷贝与浅拷贝
- python浅拷贝与深拷贝
- Python 的深拷贝与浅拷贝
- python中的深拷贝与浅拷贝
- Python:深拷贝与浅拷贝
- python 赋值、浅拷贝与深拷贝
- [Python]浅拷贝与深拷贝
- Python浅拷贝与深拷贝
- Python中的浅拷贝与深拷贝
- Linux中的fork()函数
- linux 基本命令
- 计时器
- 手工实现堆(最小堆)
- Maven 常用命令,手动创建第一个 Maven 项目
- python append()与深拷贝、浅拷贝
- IOS设计模式:MVC模式
- Oracle之日期运算
- self,列表推导,分片,集合
- AFN和ASI各自使用方法及区别的总结
- ContOS7下安装mysql
- Log4j深入研究 Log4j为单个类写单个日志文件 Log4j为包写文件
- jar文件的深入认识
- 欢迎使用CSDN-markdown编辑器