[Python]列表复制的几种方法
来源:互联网 发布:上海图畅云计算招聘 编辑:程序博客网 时间:2024/06/08 00:27
为了追踪内存中的对象,Python采用了引用计数这一简单技术。变量实际是内存对象的别名,可以看成是C++中引用。当引用计数为0时,该对象就称为垃圾回收机制的回收对象。所以下面的列表复制只是将给列表又起了个别名而已:
>>> a = [4,5,6,7,9,8,5,2]>>> a[4, 5, 6, 7, 9, 8, 5, 2]>>> b = a>>> id(a),id(b)(20249936, 20249936)
为了得到列表真正的拷贝,可以使用下面几种方法:
方式一:切片操作
>>> c = a[:]>>> id(a),id(c)(20249936, 20258128)方式二:list()函数
>>> d = list(a)>>> id(d),id(a)(20245400, 20249936)方式三:
>>> e = a * 1>>> id(a),id(e)(20249936, 20250056)方式四:
>>> import copy>>> f = copy.copy(a)>>> id(a),id(f)(20249936, 20085496)方式五:
>>> x = [1,2,3,[4,5]]>>> y = copy.copy(x)>>> x[3][1] = 7>>> y[1, 2, 3, [4, 7]]>>> y = copy.deepcopy(x)>>> x[3][1] = 9>>> y[1, 2, 3, [4, 7]]可以看到,当列表中还有列表时,只有copy.deepcopy()才能得到包括子列表在内的完全拷贝。
REF:http://www.cnblogs.com/ifantastic/p/3811145.html
0 0
- [Python]列表复制的几种方法
- python 分割列表的几种方法
- python中复制列表的正确方法
- Python-复制列表的几个小方法
- python 列表去重(数组)的几种方法
- python列表的复制
- 数组复制的几种常用方法
- 数组的几种复制方法
- Java复制数组的几种方法
- AngularJS复制的几种方法
- 网页复制的几种方法
- 【python】列表的复制问题
- python中的列表的复制
- 几种获取进程列表的方法
- 几种获取进程列表的方法
- android listView列表item下子列表的几种方法
- python 列表的方法
- Python列表的方法
- Mobile Services批量提交数据
- 内存管理 之 存储器层次结构
- NGUI研究之3D模型坐标转2D屏幕坐标-血条
- Just a Hook +线段树区间更新模板题
- jenkins集群添加Windows 2012 server作为slave
- [Python]列表复制的几种方法
- Velocity 循环stop与break来实现隔行变色
- 让你的安卓设备跑起kali——kali for android
- php中$this->
- lua 基础学习第一篇
- 计算两个数的最大公约数和最小公倍数
- HBase SI,一个不完善的HBase 分布式事务的解决方案
- Android开发入门:样式和主题(Styles and Themes)
- bzoj1096: [ZJOI2007]仓库建设 斜率优化DP