当前位置: 首页 > wzjs >正文

民政 门户网站 建设江西中恒建设集团有限公司网站

民政 门户网站 建设,江西中恒建设集团有限公司网站,客户管理系统功能描述,地址一地址二在线发布页浅拷贝(Shallow Copy)语法示例代码 1示例代码 2 深拷贝(Deep Copy)语法示例代码 浅拷贝与深拷贝的区别示例:浅拷贝与深拷贝的对比 浅拷贝:只复制外层容器,内层嵌套对象仍然是共享的,…

  • 浅拷贝(Shallow Copy)
    • 语法
    • 示例代码 1
    • 示例代码 2
  • 深拷贝(Deep Copy)
    • 语法
    • 示例代码
  • 浅拷贝与深拷贝的区别
    • 示例:浅拷贝与深拷贝的对比

  • 浅拷贝:只复制外层容器,内层嵌套对象仍然是共享的,适用于只关心外层数据的场景。
  • 深拷贝:递归地复制整个对象及其内部所有嵌套对象,适用于需要完全独立副本的情况。

浅拷贝(Shallow Copy)

浅拷贝是指创建一个新的对象,但对于对象内部的元素(如列表、字典中的项等),只是引用了原始对象中的元素,而不是创建新的元素。

因此,浅拷贝的对象与原始对象共享内部的可变元素。如果修改了内部元素的值,两个对象都会受到影响。

语法

浅拷贝常通过以下几种方式实现:

  • copy.copy():通过 copy 模块的 copy() 函数创建浅拷贝。
  • list.copy():对于列表,可以使用 list.copy() 方法。
  • dict.copy():对于字典,可以使用 dict.copy() 方法。
  • 列表的切片 [:]:通过切片创建一个浅拷贝。

示例代码 1

import copy# 使用 copy.copy()
original = [[1, 2], [3, 4]]  # 内部元素是列表,列表是可变元素
shallow_copy = copy.copy(original)# 修改 shallow_copy 中的内部元素
shallow_copy[0][0] = 6# 观察两个对象的变化
print("Original:", original)  # Original: [[6, 2], [3, 4]]
print("Shallow Copy:", shallow_copy)  # Shallow Copy: [[6, 2], [3, 4]]
  • 这里,originalshallow_copy 是两个独立的对象,但它们的内部列表是共享的。
  • 修改 shallow_copy 中的内部列表元素(shallow_copy[0][0] = 6)也会影响 original 中的相应元素,因为它们指向相同的内部列表。

注意,如果内部元素不是可变元素,那么不改变原来的常数值。

import copy
original = [1,2]
shallow_copy = copy.copy(original)shallow_copy[0]= 6print("Original:", original)  # Original: [1, 2]
print("Shallow Copy:", shallow_copy)  # Shallow Copy: [6, 2]

示例代码 2

列表切片new_list = old_list[:] 创建一个新列表,但其中的元素依然是对原始元素的引用。

original = [1, [2, 3]]
shallow_copy = original[:]
shallow_copy[1][0] = 999
print("Original:", original)  # Original: [1, [999, 3]]

深拷贝(Deep Copy)

深拷贝是指创建一个新的对象,同时递归地创建对象中所有嵌套对象的副本

深拷贝的对象与原始对象完全独立,不共享任何子对象。修改深拷贝中的元素不影响原始对象,反之亦然。

语法

深拷贝通过 copy.deepcopy() 函数实现。该函数会递归地创建一个新对象,并复制所有的嵌套对象,确保每一层都是新的对象。

示例代码

import copy# 使用 copy.deepcopy()
original = [[1, 2], [3, 4]]
deep_copy = copy.deepcopy(original)# 修改 deep_copy 中的内部元素
deep_copy[0][0] = 999# 观察两个对象的变化
print("Original:", original)  # Original: [[1, 2], [3, 4]]
print("Deep Copy:", deep_copy)  # Deep Copy: [[999, 2], [3, 4]]

在这个例子中,originaldeep_copy 完全独立。修改 deep_copy 中的元素不会影响到 original,因为它们是完全独立的对象。

浅拷贝与深拷贝的区别

特性浅拷贝 (Shallow Copy)深拷贝 (Deep Copy)
拷贝方式创建新的对象,但对象内部的元素还是原对象的引用创建一个新的对象及其所有嵌套对象的副本
内部对象共享内部对象是共享的,即它们指向相同的内存位置内部对象完全独立,不共享任何内存
修改内部对象的影响修改拷贝中的内部对象会影响原对象修改拷贝中的内部对象不会影响原对象
速度通常比深拷贝快,因为不递归拷贝所有嵌套对象比浅拷贝慢,因为需要递归地拷贝所有对象

示例:浅拷贝与深拷贝的对比

import copy# 创建原始对象
original = {'a': 1,'b': [2, 3],'c': {'nested': 4}
}# 浅拷贝
shallow_copy = copy.copy(original)
shallow_copy['b'][0] = 999  # 修改列表中的元素# 深拷贝
deep_copy = copy.deepcopy(original)
deep_copy['c']['nested'] = 999  # 修改嵌套字典中的元素print("Original:", original)
print("Shallow Copy:", shallow_copy)
print("Deep Copy:", deep_copy)

输出:

Original: {'a': 1, 'b': [999, 3], 'c': {'nested': 4}}
Shallow Copy: {'a': 1, 'b': [999, 3], 'c': {'nested': 4}}
Deep Copy: {'a': 1, 'b': [999, 3], 'c': {'nested': 999}}
  • 在浅拷贝中,修改 b 列表中的元素会影响原始对象,因为它们共享相同的列表。
  • 在深拷贝中,修改 c 字典中的嵌套对象(nested)不会影响原始对象,因为 deepcopy 创建了完全独立的副本。

文章转载自:

http://XCMWQ88p.rcqyk.cn
http://oISEslCO.rcqyk.cn
http://SZ3pDYo3.rcqyk.cn
http://wzG3RItw.rcqyk.cn
http://H1PYJV9P.rcqyk.cn
http://daMzmgoJ.rcqyk.cn
http://MLwY4wAb.rcqyk.cn
http://95H7vLbl.rcqyk.cn
http://4UTKVjOr.rcqyk.cn
http://pyGY5iGA.rcqyk.cn
http://677k5QfZ.rcqyk.cn
http://1RX0xggV.rcqyk.cn
http://8BzJyngY.rcqyk.cn
http://rv6wj5Ka.rcqyk.cn
http://wDBM0UlN.rcqyk.cn
http://fWble04D.rcqyk.cn
http://nbs8ElNX.rcqyk.cn
http://ROHd3bw5.rcqyk.cn
http://ajdWSVD4.rcqyk.cn
http://xT4CvFEM.rcqyk.cn
http://wJJyjPG6.rcqyk.cn
http://ShnRe3GV.rcqyk.cn
http://Rq9pL1Nh.rcqyk.cn
http://rBxsIfP2.rcqyk.cn
http://j7iSBamb.rcqyk.cn
http://EByeJ6Nv.rcqyk.cn
http://im9xq3nQ.rcqyk.cn
http://NBOhx6Fm.rcqyk.cn
http://Hc8ZiwkL.rcqyk.cn
http://RGKgqayl.rcqyk.cn
http://www.dtcms.com/wzjs/612459.html

相关文章:

  • 怎么做一个个人网站wordpress经常io和cpu很高
  • 定制网站制作公司怎么样让iis做跳转网站
  • 汕头网站建设套餐电子商务网站建设与管理第二版
  • 金融公司网站设计图南昌 网站 公司
  • 网站建设最好android studio教程
  • 厦门做网站企业网站自身seo优化怎么做
  • 做lol直播网站推广型网站建设地址
  • 做网站和做系统有什么区别做app需要什么技术
  • 网页设计与网站建设基础心得体会游戏网站怎么建设
  • 购物网站的推广seo排名赚钱
  • 中山移动网站建设多少钱冠县网站建设
  • 抚州的电子商务网站建设公司网站的稳定性
  • 传奇页游排行榜前十名百度seo点击排名优化
  • 济南网站推广优化网站你懂我意思正能量晚上在线观看不用下载免费魅族
  • 怎么开网站 第一步怎么做建设银行网银登录
  • 怎样用自己的服务器建设网站怎样在百度搜到自己的网站
  • 企业网站规划与建设论文成都网站开发价格
  • 做电影网站需要注意什么做网站的职员称呼什么
  • 深圳市公司网站建设服务机构购物网站的建设费用
  • 手机网站轮播图wordpress 制作网站
  • 自助建设视频网站海东网站建设公司
  • 企业网站管理系统 cms外贸网站优化公司
  • 电子商务网站建设与管理是什么用阿里云和大淘客做网站
  • 中建八局土木建设有限公司网站做运营的具体做什么
  • 怎么挑选网站建设公司wordpress 下载超链接
  • 阿里云 建设网站找人做网站如何担保
  • 央美老师做的家具网站最快做网站的语言
  • 国外网站为什么不用备案山东省招投标信息网
  • 英山县城乡建设规划局网站学校网站资源建设
  • 网站建设 天秀网络网站建设销售客户疑问