随笔记录方便自己和同路人查阅。

#------------------------------------------------我是可耻的分割线-------------------------------------------

在处理列表和字典时,尽管传递引用常常是最方便的方法,但如果函数修改了传入的列表或字典,你可能不希望

这些变动影响原来的列表或字典。要做到这一点,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()相关推荐

  1. python中continue用法_Python学习笔记之Break和Continue用法分析

    本文实例讲述了Python学习笔记之Break和Continue用法.分享给大家供大家参考,具体如下: Python 中的Break 和 Continue break:控制何时循环应该结束 conti ...

  2. python中pandas格式_Python学习笔记之数据分析中Pandas常用知识

    前言 Pandas基于两种数据类型:series与dataframe. 一个series是一个一维的数据类型,其中每一个元素都有一个标签.series类似于Numpy中元素带标签的数组.其中,标签可以 ...

  3. python中elif语句_Python学习笔记控制流语句之elif语句

    随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...

  4. python __name__怎么使用_python学习笔记26(python中__name__的使用)

    在python中,每个py文件都是一个模块,也都是一个可执行文件,即包含main方法.因此,对每个py文件,可以单独运行,也可以import它给其他客户使用,这两种情况不一样. 1. 如果模块是被导入 ...

  5. python基本模块中的对象_Python 学习笔记 -- OS模块的常用对象方法

    1 #这里列举在os模块中关于文件/目录常用的函数使用方法 2 3 #这里需要注意下,在使用这些方法前记得导入os模块 4 import os #导入os模块 5 """ ...

  6. python查看方法作用_python学习笔记1,新手小白也能看得懂

    这是酸菜在风变编程上学习python时积累的学习笔记,希望能帮到同样也在学习中的小伙伴.持续更新~ 第0关 Print()函数 (1)不带引号:让计算机读懂括号里的内容,打印最终的结果 例:print ...

  7. [转载] python numpy 子数组_Python学习笔记3:Numpy入门

    参考链接: Python中的numpy.logaddexp2 参考<Python:数据科学手册>一书,仅作个人学习及记录使用,若有侵权,请联系后台删除. 1 理解Python中的数据类型 ...

  8. python的continue用法_Python学习笔记之Break和Continue用法分析

    本文实例讲述了Python学习笔记之Break和Continue用法.分享给大家供大家参考,具体如下: Python 中的Break 和 Continue break:控制何时循环应该结束 conti ...

  9. python 异步加载_Python学习笔记4——爬取异步加载数据

    一.什么是异步加载? 在之前的学习笔记中,爬取的网页是需要手动翻页的网址,但是一些网站是通过自动加载翻页的,如knewone网页.浏览knewone的官网就能发现,当下拉到网页最下端时,网站会自动加载 ...

最新文章

  1. 有经验的程序员应该如何提升自己
  2. 2022泰晤士最新世界大学排名惹争议,这所985高校爆冷门!
  3. 解决vue-cli 打包后静态资源路径不对的问题
  4. 《深入理解Java虚拟机》笔记3——7种垃圾收集器
  5. 8.图片组件和动画效果--从零起步实现基于Html5的WEB设计器Jquery插件(含源码)...
  6. 【Python基础】高效的10个Pandas函数,你都用过吗?
  7. java 程序分析题_java程序入门50题分析:002
  8. fest556_AssertJ Fest Hamcrest
  9. ICCV 2021 |VisDrone2021 无人机视觉挑战赛启动
  10. mod_rewrite
  11. 学习笔记(06):MySQL数据库运维与管理-01-用户创建及授权
  12. eclipse中配置server
  13. android callmanager.java,如何使用Mobile-SDK-Android正确注销DJISDKManager和SDKManagerCallback应用程序?...
  14. wince中实现SQLite数据库及二进制文件保存与读取
  15. 如何用python画矿物分布地图_python怎么画出分布图?
  16. CreateIoCompletionPort和完成端口
  17. 网页图片透明html代码,HTML_让css使网页图片半透明,你用过css么?当然,我是指你 - phpStudy...
  18. 不知道文字识别工具有哪些?来看看这几个好用的软件
  19. ksy是谁_你还记得谁?人皇Sky曝曾经魔兽知名选手近况
  20. 新人入职培训流程及转正交流过程指导原则

热门文章

  1. centos更改MySQL数据库目录位置
  2. 日均互动50万次 微信的营销的成功之道
  3. java远程debug
  4. python的重点_python知识点
  5. Spring MVC 流程图
  6. 中文整合包_案例 | 美研市场营销和整合营销专业1620Fall 580+申请实例(含MS+PHD)...
  7. python人脸关键点识别_用Face++实现人脸关键点检测
  8. pb通过对象名称调用对象_C++ 可调用对象(二)
  9. php eot eod_EOD的完整形式是什么?
  10. 在Python中模拟do-while循环