关于python的深拷贝和浅拷贝

编程入门 行业动态 更新时间:2024-10-25 04:16:48

关于<a href=https://www.elefans.com/category/jswz/34/1770869.html style=python的深拷贝和浅拷贝"/>

关于python的深拷贝和浅拷贝

深拷贝 deep copy 和浅拷贝 shallow copy

浅拷贝 shallow copy
L = [3.1, 3.2]
L1 = [1, 2, L]
L2 = L1.copy() # 浅拷贝,只复制一层
print(L1) # [1, 2, [3.1, 3.2]]
print(L2) # [1, 2, [3.1, 3.2]]
L[0] = 3.14
print(L1) # [1, 2, [3.14, 3.2]]
print(L2) # [1, 2, [3.14, 3.2]]

说明:
浅拷贝是指在复制过程中,只复制一层变量,不会复制深层变量绑定的对象的复制过程


深拷贝
对所有可变对象进行层层复制,实现对象的各自独立
例:

import copy # 导入复制模块
L = [3.1, 3.2]
L1 = [1, 2, L]
L2 = copy.deepcopy(L1) # 实现深拷贝
print(L1) # [1, 2, [3.1, 3.2]]
print(L2) # [1, 2, [3.1, 3.2]]
L[0] = 3.14
print(L1) # [1, 2, [3.14, 3.2]]
print(L2) # [1, 2, [3.1, 3.2]] #此列表不受影响

更多推荐

关于python的深拷贝和浅拷贝

本文发布于:2023-07-28 17:00:14,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1256727.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!