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 相关文章推荐
简介Django框架中可使用的各类缓存
Jul 23 Python
Django自定义分页效果
Jun 27 Python
Python实现公历(阳历)转农历(阴历)的方法示例
Aug 22 Python
Python中对象的引用与复制代码示例
Dec 04 Python
Python数据结构之栈、队列的实现代码分享
Dec 04 Python
tensorflow 输出权重到csv或txt的实例
Jun 14 Python
python+unittest+requests实现接口自动化的方法
Nov 29 Python
python获取磁盘号下盘符步骤详解
Jun 19 Python
django 实现简单的插入视频
Apr 07 Python
pandas使用之宽表变窄表的实现
Apr 12 Python
解决python使用list()时总是报错的问题
May 05 Python
python-for x in range的用法(注意要点、细节)
May 10 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
DIY实用性框形天线
2021/03/02 无线电
PHP的历史和优缺点
2006/10/09 PHP
PHP伪造referer实例代码
2008/09/20 PHP
php 广告调用类代码(支持Flash调用)
2011/08/11 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
Smarty高级应用之缓存操作技巧分析
2016/05/14 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
基于jquery的跨域调用文件
2010/11/19 Javascript
jQuery.holdReady()方法用法实例
2014/12/27 Javascript
Jquery实现textarea根据文本内容自适应高度
2015/04/03 Javascript
AngularJS 依赖注入详解及示例代码
2016/08/17 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
2017/05/01 Javascript
JS实现的简单表单验证功能示例
2017/10/13 Javascript
浅谈在react中如何实现扫码枪输入
2018/07/04 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
CountUp.js数字滚动插件使用方法详解
2019/10/17 Javascript
python实现复制整个目录的方法
2015/05/12 Python
新手如何快速入门Python(菜鸟必看篇)
2017/06/10 Python
Pycharm技巧之代码跳转该如何回退
2017/07/16 Python
python 类对象和实例对象动态添加方法(分享)
2017/12/31 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
2018/05/24 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
Python面试题:Python里面如何生成随机数
2015/03/12 面试题
实习期自我鉴定
2013/10/11 职场文书
应聘医药代表职位求职信
2013/10/21 职场文书
ktv收银员岗位职责
2013/12/16 职场文书
机关单位工作失职检讨书
2014/11/20 职场文书
美术教师求职信范文
2015/03/20 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS