python复制与引用用法分析


Posted in Python onApril 08, 2015

本文实例讲述了python复制与引用用法。分享给大家供大家参考。具体分析如下:

简单复制是引用

a=[1,23,4]
b=a #这是引用
b.append(2323)
print(a,b) #([1, 23, 4, 2323], [1, 23, 4, 2323])

使用copy.copy进行浅拷贝

import copy
c=copy.copy(b)#拷贝
c.append(1)
print(b,c)#([1, 23, 4, 2323], [1, 23, 4, 2323, 1])
list1=[['a'],[1,2,4],[23,'a']]
list_copy=copy.copy(list1)
#浅拷贝,生成了一个新对象,但是新对象内的属性和内容仍然是原对象的引用

#当对新对象进行整体修改的时候修改的是本身
list_copy.append('append')
print(list_copy)#[['a'], [1, 2, 4], [23, 'a'], 'append']
print(list1)#[['a'], [1, 2, 4], [23, 'a']]

#当对新对象的内容进行修改的时候修改的是原对象,因为它仍然是引用
list_copy[1].append('append+')
print(list_copy)#[['a'], [1, 2, 4, 'append+'], [23, 'a'], 'append']
print(list1)#[['a'], [1, 2, 4, 'append+'], [23, 'a']]

使用copy.deepcopy进行迭代拷贝,之后就可以更改新对象的属性而不影响原对象了,只是效率会下降和内存占有量会上升。

对于list,dict,set等可直接使用x(object),object为相应类型,进行拷贝,这是最简单最直接有效地方式。

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
九步学会Python装饰器
May 09 Python
Python数据结构与算法之图结构(Graph)实例分析
Sep 05 Python
酷! 程序员用Python带你玩转冲顶大会
Jan 17 Python
Python实现二维数组输出为图片
Apr 03 Python
Python简单定义与使用二叉树示例
May 11 Python
在Django中URL正则表达式匹配的方法
Dec 20 Python
Python面向对象程序设计示例小结
Jan 30 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
Feb 14 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
Feb 20 Python
Python  word实现读取及导出代码解析
Jul 09 Python
用Python制作灯光秀短视频的思路详解
Apr 13 Python
Python中rapidjson参数校验实现
Jul 25 Python
Python导入txt数据到mysql的方法
Apr 08 #Python
python集合类型用法分析
Apr 08 #Python
在Python中使用Mako模版库的简单教程
Apr 08 #Python
python中requests模块的使用方法
Apr 08 #Python
介绍Python中几个常用的类方法
Apr 08 #Python
python自然语言编码转换模块codecs介绍
Apr 08 #Python
python文件写入实例分析
Apr 08 #Python
You might like
PHP脚本数据库功能详解(中)
2006/10/09 PHP
php pki加密技术(openssl)详解
2013/07/01 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
Jquery cookie操作代码
2010/03/14 Javascript
Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
2010/03/18 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
超级好用的jQuery圆角插件 Corner速成
2014/08/31 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
超赞的动手创建JavaScript框架的详细教程
2015/06/30 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
javascript先序遍历DOM树的方法
2016/02/27 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
JS前端加密算法示例
2016/12/22 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
javascript实现考勤日历功能
2018/11/29 Javascript
如何让微信小程序页面之间的通信不再变困难
2019/06/03 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
Python的Django框架中从url中捕捉文本的方法
2015/07/20 Python
python中的计时器timeit的使用方法
2017/10/20 Python
Python+tkinter使用80行代码实现一个计算器实例
2018/01/16 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
Python生成器generator原理及用法解析
2020/07/20 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
2020/09/01 Python
Ubuntu权限不足无法创建文件夹解决方案
2020/11/14 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
英国领先的餐饮折扣俱乐部:Gourmet Society
2020/07/26 全球购物
应届毕业生求职信范文
2014/05/08 职场文书
简易版租房协议书范本
2014/10/13 职场文书
毕业生爱心捐书倡议书
2015/04/27 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
浅谈JavaScript浅拷贝和深拷贝
2021/11/07 Javascript
python字符串的一些常见实用操作
2022/04/06 Python