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函数式编程指南(一):函数式编程概述
Jun 24 Python
两个命令把 Vim 打造成 Python IDE的方法
Mar 20 Python
Python实现树莓派WiFi断线自动重连的实例代码
Mar 16 Python
Python reduce()函数的用法小结
Nov 15 Python
Python使用正则表达式获取网页中所需要的信息
Jan 29 Python
pytorch构建网络模型的4种方法
Apr 13 Python
python实现代码统计程序
Sep 19 Python
Python迭代器模块itertools使用原理解析
Dec 11 Python
Python enumerate内置库用法解析
Feb 24 Python
Python虚拟环境virtualenv是如何使用的
Jun 20 Python
python编程实现清理微信重复缓存文件
Nov 01 Python
Python first-order-model实现让照片动起来
Jun 25 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
模拟flock实现文件锁定
2007/02/14 PHP
php开发文档 会员收费1期
2012/08/14 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
2021/03/09 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
自用js开发框架小成 学习js的朋友可以看看
2010/11/16 Javascript
使用js修改客户端注册表的方法
2013/08/09 Javascript
jQuery Animation实现CSS3动画示例介绍
2013/08/14 Javascript
js获取ajax返回值代码
2014/04/30 Javascript
对比分析json及XML
2014/11/28 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
javascript匀速运动实现方法分析
2016/01/08 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
jQuery使用zTree插件实现树形菜单和异步加载
2016/02/25 Javascript
设置点击文本框或图片弹出日历控件的实现代码
2016/05/12 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
el-table树形表格表单验证(列表生成序号)
2020/05/31 Javascript
Python批量按比例缩小图片脚本分享
2015/05/21 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
python爬取网页内容转换为PDF文件
2020/07/28 Python
解决django前后端分离csrf验证的问题
2019/02/03 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
网吧消防安全制度
2014/01/28 职场文书
5s推行计划书
2014/05/06 职场文书
2014校长四风问题对照检查材料思想汇报
2014/09/16 职场文书
医院领导班子四风对照检查材料
2014/09/27 职场文书
个人查摆剖析材料
2014/10/16 职场文书
晚会开幕词
2015/01/28 职场文书
幼师大班个人总结
2015/02/13 职场文书
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫