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实现从web抓取文档的方法
Sep 26 Python
Python中使用glob和rmtree删除目录子目录及所有文件的例子
Nov 21 Python
Python脚本获取操作系统版本信息
Dec 17 Python
Python中用psycopg2模块操作PostgreSQL方法
Nov 28 Python
在PyCharm中实现关闭一个死循环程序的方法
Nov 29 Python
简单了解Python3里的一些新特性
Jul 13 Python
python线程的几种创建方式详解
Aug 29 Python
Django 实现Admin自动填充当前用户的示例代码
Nov 18 Python
使用TFRecord存取多个数据案例
Feb 17 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
Mar 08 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
Apr 27 Python
Python的控制结构之For、While、If循环问题
Jun 30 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 采集程序 常用函数
2008/12/18 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
PHP实现的随机红包算法示例
2017/08/14 PHP
用Mootools获得操作索引的两种方法分享
2011/12/12 Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
2014/01/23 Javascript
js触发select onchange事件的小技巧
2014/08/05 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
2016/06/25 Javascript
jQuery实现的自定义弹出层效果实例详解
2016/09/04 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
Python实现全角半角字符互转的方法
2016/11/28 Python
tensorflow实现对图片的读取的示例代码
2018/02/12 Python
python 列表删除所有指定元素的方法
2018/04/19 Python
pyQt4实现俄罗斯方块游戏
2018/06/26 Python
对Python中内置异常层次结构详解
2018/10/18 Python
pygame编写音乐播放器的实现代码示例
2019/11/19 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
jupyter notebook 写代码自动补全的实现
2020/11/02 Python
css3学习之2D转换功能详解
2016/12/23 HTML / CSS
英国知名小木屋定制网站:Tiger Sheds
2020/03/06 全球购物
高分子材料与工程专业个人求职信
2013/12/15 职场文书
运动会邀请函范文
2014/01/31 职场文书
五年级学生评语
2014/04/22 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
解除劳动合同协议书
2014/09/17 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
劳模事迹材料范文
2014/12/24 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL