Python深浅拷贝

Python深浅拷贝

python 复制代码
"""
    python的高级特性 --深浅copy
        1.copy方式

        2.浅copy --只复制第一层,但内层共享地址
            copy.copy()
        3.深copy ---通过递归的形式,完全copy原对象
            copy.deepcopy()
        4.作用场景
            深浅copy他们的核心区别是否使用递归进行copy
            浅copy,只copy表面,内部共享内存地址
            深copy,通过递归copy原对象,与原对象保持独立
            无论深浅copy都适用于可变对象的更深层次的copy
"""

常见copy

python 复制代码
#一.常见的copy方式
list1 = [1,2,3,4,5]
#1.切片
print(list1[:])
#2.内置函数copy()
print(list1.copy())
#.导入内置模块copy
import copy
print(copy.copy(list1))

深浅拷贝

python 复制代码
#二.深浅copy
#1.创建二维列表
test_list1 = [[3,4],[6,7],[8,9]]

#2.测试浅拷贝
res = copy.copy(test_list1)
res[0][0] = 100
print(f"原列表test_list1:{test_list1}")
print(f"copy后的列表:{res}")
print(id(test_list1[0]))
print(id(res[0]))

#3.测试深拷贝
test_list2 = [[3,4],[6,7],[8,9]]
res = copy.deepcopy(test_list2)
print(f"原列表test_list2:{test_list1}")
print(f"copy后的列表:{res}")
print(id(test_list2[0]))
print(id(res[0]))

赋值和拷贝的区别

赋值:只是给变量起了一个新名字,两个变量指向内存中同一个对象(没有复制数据)。

浅拷贝(Shallow Copy):只复制最外层的对象,内部的子对象(如列表里的列表、字典里的列表)仍然是引用关系。

深拷贝(Deep Copy):完全复制原对象及其所有子对象,新对象和原对象在内存中完全独立,互不影响。

相关推荐
Wang's Blog10 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
信誓旦旦的程序猿10 小时前
【Python量化实战宝典 #21】北向资金跟随手册:聪明钱择时信号(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
严谨的麻辣烫11 小时前
静态 ISP 代理请求超时怎么排查?Python 与 curl 实战
python·http·requests·1024程序员节·网络排障
下一站春风里11 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
天外飞雨道沧桑12 小时前
我在浏览器里练了一个 792 参数的大模型,它学会了补全 JavaScript
开发语言·javascript·ai·ecmascript·ai编程
hhhjhl12 小时前
Yup 跨端三方库仓颉适配全流程
java·开发语言
运维行者_12 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
KeepRobots12 小时前
11-01 温哥华不回拨:用 60 行 Python 查你的工单系统会不会差一小时(KeepRobots 工程笔记)
python
xiao77mwq12 小时前
你以为 OCR 慢?实测 81.3 s 里全是故障代价:如何把「定格态」消掉,让耗时从 6.5 s 到 13 倍差距显出原形
python
深圳市益普科技有限公司13 小时前
半导体良率管理YMS:良率与设备参数的相关性,先拉哪几组数据
人工智能·python·算法