python中deepcopy函数_Python学习笔记函数之copy()和deepcopy()
随笔记录方便自己和同路人查阅。
#------------------------------------------------我是可耻的分割线-------------------------------------------
在处理列表和字典时,尽管传递引用常常是最方便的方法,但如果函数修改了传入的列表或字典,你可能不希望
这些变动影响原来的列表或字典。要做到这一点,Python提供了名为copy的模块,其中包含copy()和deepcopy()函数。
第一个函数copy.copy(),可以用来复制列表或字典这样的可变值,而不是只复制引用。
两者的区别是copy.copy()是这复制了列表或字典的值,但是引用还是同一个。而copy.deepcopy()是产生一个新的
引用使新的变量和被复制变量引用不同。看下面的示例代码:
#------------------------------------------------我是可耻的分割线-------------------------------------------
1、copy.copy(),示例代码:
#
# -*- coding:utf-8 -*-
# Autor: Li Rong Yang
import copy
spam = ['A','B','C','D',[1,2,3,4]]
cheese = copy.copy(spam)
spam[0] = 42
print(spam)
运行结果:
根据结果可以看出,使用copy.copy()函数时,cheese是复制了spam列表引用,对spam列表操作时,也会对cheese列表产生影响。这也被称为浅copy。
2、deepcopy.copy(),示例代码:
#
# -*- coding:utf-8 -*-
# Autor: Li Rong Yang
import copy
spam = ['A','B','C','D',[1,2,3,4]]
cheese = copy.deepcopy(spam)#不同部分
spam[0] = 42
print(spam)
运行结果:
根据结果可以看出,使用deepcopy()时,对spam列表操作不会对cheese列表产生影响,这是因为deepcopy()是产生一个新的引用,这样spam和cheese
是两个不同的引用所以在对spam列表操作时不会对cheese列表产生影响。
python中deepcopy函数_Python学习笔记函数之copy()和deepcopy()相关推荐
- python中continue用法_Python学习笔记之Break和Continue用法分析
本文实例讲述了Python学习笔记之Break和Continue用法.分享给大家供大家参考,具体如下: Python 中的Break 和 Continue break:控制何时循环应该结束 conti ...
- python中pandas格式_Python学习笔记之数据分析中Pandas常用知识
前言 Pandas基于两种数据类型:series与dataframe. 一个series是一个一维的数据类型,其中每一个元素都有一个标签.series类似于Numpy中元素带标签的数组.其中,标签可以 ...
- python中elif语句_Python学习笔记控制流语句之elif语句
随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...
- python __name__怎么使用_python学习笔记26(python中__name__的使用)
在python中,每个py文件都是一个模块,也都是一个可执行文件,即包含main方法.因此,对每个py文件,可以单独运行,也可以import它给其他客户使用,这两种情况不一样. 1. 如果模块是被导入 ...
- python基本模块中的对象_Python 学习笔记 -- OS模块的常用对象方法
1 #这里列举在os模块中关于文件/目录常用的函数使用方法 2 3 #这里需要注意下,在使用这些方法前记得导入os模块 4 import os #导入os模块 5 """ ...
- python查看方法作用_python学习笔记1,新手小白也能看得懂
这是酸菜在风变编程上学习python时积累的学习笔记,希望能帮到同样也在学习中的小伙伴.持续更新~ 第0关 Print()函数 (1)不带引号:让计算机读懂括号里的内容,打印最终的结果 例:print ...
- [转载] python numpy 子数组_Python学习笔记3:Numpy入门
参考链接: Python中的numpy.logaddexp2 参考<Python:数据科学手册>一书,仅作个人学习及记录使用,若有侵权,请联系后台删除. 1 理解Python中的数据类型 ...
- python的continue用法_Python学习笔记之Break和Continue用法分析
本文实例讲述了Python学习笔记之Break和Continue用法.分享给大家供大家参考,具体如下: Python 中的Break 和 Continue break:控制何时循环应该结束 conti ...
- python 异步加载_Python学习笔记4——爬取异步加载数据
一.什么是异步加载? 在之前的学习笔记中,爬取的网页是需要手动翻页的网址,但是一些网站是通过自动加载翻页的,如knewone网页.浏览knewone的官网就能发现,当下拉到网页最下端时,网站会自动加载 ...
最新文章
- 有经验的程序员应该如何提升自己
- 2022泰晤士最新世界大学排名惹争议,这所985高校爆冷门!
- 解决vue-cli 打包后静态资源路径不对的问题
- 《深入理解Java虚拟机》笔记3——7种垃圾收集器
- 8.图片组件和动画效果--从零起步实现基于Html5的WEB设计器Jquery插件(含源码)...
- 【Python基础】高效的10个Pandas函数,你都用过吗?
- java 程序分析题_java程序入门50题分析:002
- fest556_AssertJ Fest Hamcrest
- ICCV 2021 |VisDrone2021 无人机视觉挑战赛启动
- mod_rewrite
- 学习笔记(06):MySQL数据库运维与管理-01-用户创建及授权
- eclipse中配置server
- android callmanager.java,如何使用Mobile-SDK-Android正确注销DJISDKManager和SDKManagerCallback应用程序?...
- wince中实现SQLite数据库及二进制文件保存与读取
- 如何用python画矿物分布地图_python怎么画出分布图?
- CreateIoCompletionPort和完成端口
- 网页图片透明html代码,HTML_让css使网页图片半透明,你用过css么?当然,我是指你 - phpStudy...
- 不知道文字识别工具有哪些?来看看这几个好用的软件
- ksy是谁_你还记得谁?人皇Sky曝曾经魔兽知名选手近况
- 新人入职培训流程及转正交流过程指导原则
热门文章
- centos更改MySQL数据库目录位置
- 日均互动50万次 微信的营销的成功之道
- java远程debug
- python的重点_python知识点
- Spring MVC 流程图
- 中文整合包_案例 | 美研市场营销和整合营销专业1620Fall 580+申请实例(含MS+PHD)...
- python人脸关键点识别_用Face++实现人脸关键点检测
- pb通过对象名称调用对象_C++ 可调用对象(二)
- php eot eod_EOD的完整形式是什么?
- 在Python中模拟do-while循环