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 10 Python
使用python实现strcmp函数功能示例
Mar 25 Python
Python实现检测服务器是否可以ping通的2种方法
Jan 01 Python
Python解析xml中dom元素的方法
Mar 12 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
Jun 19 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
May 07 Python
Python+pyplot绘制带文本标注的柱状图方法
Jul 08 Python
python实现对服务器脚本敏感信息的加密解密功能
Aug 13 Python
如何通过Django使用本地css/js文件
Jan 20 Python
超全Python图像处理讲解(多模块实现)
Apr 13 Python
详解Django配置JWT认证方式
May 09 Python
python 实现简单的计算器(gui界面)
Nov 11 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无限级分类方法及代码
2013/06/21 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
PHP实现网站应用微信登录功能详解
2019/04/11 PHP
laravel http 自定义公共验证和响应的方法
2019/09/29 PHP
javascript 触发事件列表 比较不错
2009/09/03 Javascript
jquery中常用的函数和属性详细解析
2014/03/07 Javascript
Javascript基础教程之argument 详解
2015/01/18 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
JS动态修改网页body的背景色实例代码
2017/10/07 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
React传值 组件传值 之间的关系详解
2019/08/26 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
python字典排序实例详解
2015/05/20 Python
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
Python多线程实现同步的四种方式
2017/05/02 Python
Python实现复杂对象转JSON的方法示例
2017/06/22 Python
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
Java如何基于wsimport调用wcf接口
2020/06/17 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
商场消防演习方案
2014/02/12 职场文书
先进教育工作者事迹材料
2014/12/23 职场文书
大学班长竞选稿
2015/11/20 职场文书
在HTML中引入CSS的几种方式介绍
2021/12/06 HTML / CSS
python_tkinter事件类型详情
2022/03/20 Python