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中字典(dict)和列表(list)的排序方法实例
Jun 16 Python
Python的装饰器用法学习笔记
Jun 24 Python
利用Python实现颜色色值转换的小工具
Oct 27 Python
python生成多个只含0,1元素的随机数组或列表的实例
Nov 12 Python
Python开发网站目录扫描器的实现
Feb 21 Python
Python3实现zip分卷压缩过程解析
Oct 09 Python
安装python及pycharm的教程图解
Oct 10 Python
Django自定义用户表+自定义admin后台中的字段实例
Nov 18 Python
最小二乘法及其python实现详解
Feb 24 Python
Django自定义列表 models字段显示方式
Apr 03 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Jun 28 Python
Python pandas求方差和标准差的方法实例
Aug 04 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 验证码制作(网树注释思想)
2009/07/20 PHP
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
Linux下PHP连接Oracle数据库
2014/08/20 PHP
PHP实现抓取HTTPS内容
2014/12/01 PHP
PDO::errorInfo讲解
2019/01/28 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
extjs 分页使用jsp传递数据示例
2014/07/29 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
Javascript动态创建表格及删除行列的方法
2015/05/15 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
javascript与Python快速排序实例对比
2015/08/10 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
基于vue-ssr服务端渲染入门详解
2018/01/08 Javascript
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
在weex中愉快的使用scss的方法步骤
2020/01/02 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
基于Python实现的微信好友数据分析
2018/02/26 Python
python 查找文件名包含指定字符串的方法
2018/06/05 Python
python实现换位加密算法的示例
2018/10/14 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
关于tf.matmul() 和tf.multiply() 的区别说明
2020/06/18 Python
python 监控logcat关键字功能
2020/09/04 Python
浅析python实现动态规划背包问题
2020/12/31 Python
css3使网页、图片变成灰色兼容大多数浏览器
2014/07/02 HTML / CSS
法国在线药房:DoctiPharma
2020/10/21 全球购物
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
2015/07/30 面试题
25道Java面试题集合
2013/05/21 面试题
物业工程部经理岗位职责
2015/04/09 职场文书
公司保密管理制度
2015/08/04 职场文书
环保建议书作文300字
2015/09/14 职场文书
redis cluster支持pipeline的实现思路
2021/06/23 Redis
react中的DOM操作实现
2021/06/30 Javascript