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去除列表中重复元素的方法
Mar 20 Python
Python cx_freeze打包工具处理问题思路及解决办法
Feb 13 Python
Python爬取qq music中的音乐url及批量下载
Mar 23 Python
浅谈numpy数组的几种排序方式
Dec 15 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
Feb 23 Python
Python迭代器定义与简单用法分析
Apr 30 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
Dec 30 Python
django 中QuerySet特性功能详解
Jul 25 Python
python基础教程之while循环
Aug 14 Python
Python实现钉钉订阅消息功能
Jan 14 Python
深入浅析python变量加逗号,的含义
Feb 22 Python
django实现更改数据库某个字段以及字段段内数据
Mar 31 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
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
php 验证码制作(网树注释思想)
2009/07/20 PHP
PHP Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
学习php设计模式 php实现观察者模式(Observer)
2015/12/09 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
通过$(this)使用jQuery包装后的方法或属性
2014/05/18 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
JS动态加载脚本并执行回调操作
2016/08/24 Javascript
AngularJs 国际化(I18n/L10n)详解
2016/09/01 Javascript
详解webpack的配置文件entry与output
2017/08/21 Javascript
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
vue使用element-ui实现表单验证
2020/12/13 Vue.js
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
[09:31]2016国际邀请赛中国区预选赛Yao赛后采访 答题送礼
2016/06/27 DOTA
[01:45:05]VGJ.T vs Newbee Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
[48:47]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python制作刷网页流量工具
2017/04/23 Python
python好玩的项目—色情图片识别代码分享
2017/11/07 Python
pandas中的series数据类型详解
2019/07/06 Python
python super的使用方法及实例详解
2019/09/25 Python
Python中BeautifuSoup库的用法使用详解
2019/11/15 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
在python中利用dict转json按输入顺序输出内容方式
2020/02/27 Python
python实现代码审查自动回复消息
2021/02/01 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
小学生检讨书大全
2014/02/06 职场文书
新闻报道策划方案
2014/06/11 职场文书
工资收入证明
2014/10/07 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
社区活动总结
2015/02/04 职场文书
jquery插件实现悬浮的菜单
2021/04/24 jQuery
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL