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使用cStringIO实现临时内存文件访问的方法
Mar 26 Python
Fabric 应用案例
Aug 28 Python
Python面向对象编程基础解析(一)
Oct 26 Python
Django 视图层(view)的使用
Nov 09 Python
Python类装饰器实现方法详解
Dec 21 Python
python实现的登录与提交表单数据功能示例
Sep 25 Python
python利用JMeter测试Tornado的多线程
Jan 12 Python
使用 pytorch 创建神经网络拟合sin函数的实现
Feb 24 Python
关于Python解包知识点总结
May 05 Python
Python 中如何写注释
Aug 28 Python
python 基于pygame实现俄罗斯方块
Mar 02 Python
Elasticsearch 数据类型及管理
Apr 19 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
Syphon 使用方法
2021/03/03 冲泡冲煮
生成静态页面的PHP类
2006/11/25 PHP
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
2012/06/05 PHP
PHP之autoload运行机制实例分析
2014/08/28 PHP
php中__toString()方法用法示例
2016/12/07 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
2016/01/12 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
2020/04/18 Javascript
Vue监听事件实现计数点击依次增加的方法
2018/09/26 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
详解js实时获取并显示当前时间的方法
2019/05/10 Javascript
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
Python中统计函数运行耗时的方法
2015/05/05 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
Django中提示消息messages的设置方式
2019/11/15 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
Python Pivot table透视表使用方法解析
2020/09/11 Python
python 读取yaml文件的两种方法(在unittest中使用)
2020/12/01 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
2021/01/27 Python
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
Madda Fella官网:美国冒险家服装品牌
2020/01/16 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
公证委托书格式
2014/09/13 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
五年级作文之劳动作文
2019/11/12 职场文书
Python基础知识学习之类的继承
2021/05/31 Python
一小时迅速入门Mybatis之bind与多数据源支持 Java API
2021/09/15 Javascript
PyTorch中的torch.cat简单介绍
2022/03/17 Python
Python Pandas解析读写 CSV 文件
2022/04/11 Python