这篇文章主要介绍了Python 中的 copy()和deepcopy(),下面详细介绍该内容并附上详细代码,需要的朋友可以参考一下文章的具体内容,希望对你有所帮助
目录
1、copy.copy()
2、deepcopy.copy()
前言:

在处理列表和字典时,尽管传递引用常常是最方便的方法,但如果函数修改了传入的列表或字典,可能不希望这些变动影响原来的列表或字典。要做到这一点,Python提供了名为copy的模块,其中包含copy()和deepcopy()函数。

第一个函数copy.copy() ,可以用来复制列表或字典这样的可变值,而不是只复制引用。

两者的区别是copy.copy()是这复制了列表或字典的值,但是引用还是同一个。而copy.deepcopy()是产生一个新的引用使新的变量和被复制变量引用不同。

看下面的示例代码:

1、copy.copy()
示例代码:
import copyspam = ['A','B','C','D',[1,2,3,4]]cheese = copy.copy(spam)spam[0] = 42print(spam)
运行结果:

[42,’B’,’C’,’D’,[1,2,3,4]]
根据结果可以看出,使用copy.copy()函数时,cheese是复制了spam列表引用,对spam列表操作时,也会对cheese列表产生影响。这也被称为浅copy。

2、deepcopy.copy()
示例代码:
#Python学习交流群:778463939import copyspam = ['A','B','C','D',[1,2,3,4]]cheese = copy.deepcopy(spam)#不同部分spam[0] = 42print(spam)
运行结果:

[42,’B’,’C’,’D’,[1,2,3,4]]

根据结果可以看出,使用deepcopy()时,对spam列表操作不会对cheese列表产生影响,这是因为deepcopy()是产生一个新的引用,这样spam和cheese

是两个不同的引用所以在对spam列表操作时不会对cheese列表产生影响。

更多相关文章

  1. 商城列表页及商品详情页
  2. 某商城列表和详情页
  3. 商城列表内容
  4. 弹性布局和下拉列表
  5. 20211109-788331作业
  6. Python 炫技操作:连接列表的八种方法
  7. 【前端】这个js代码怎么内存泄漏了呢??评论解析得越详细越好
  8. Vue一个通用的组件传递点击事件的两种种简单方法
  9. 深入浅出理解PHP原理之变量赋值

随机推荐

  1. 绝对适合新手的php入门教程
  2. 怎么查看linux下php的安装目录?
  3. 新手必学的php基础知识
  4. php怎么删除图片?
  5. PHP之错误处理详解
  6. php中的可变变量(代码详解)
  7. php中mysql乱码怎么解决?
  8. PHP中一些常用操作类代码解析
  9. for和foreach哪个效率更高?为什么?
  10. php中的$是什么意思?