博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python_深浅拷贝
阅读量:4678 次
发布时间:2019-06-09

本文共 685 字,大约阅读时间需要 2 分钟。

深浅拷贝

‘copy’和'='的区别:copy会开辟一个新的空间,而‘=’不会。

浅copy只会copy第一层,再里边的就进行共享了。

需要记住的是copy之后记住的是内存寻址地址,而浅copy时如果copy中有列表、字典等,记住的内存寻址是这个列表、字典的地址,也就是指向,当修改列表、字典中的东西时,记录的内存寻址没有发生改变,所以就会出现浅copy所描述的这种情况。

短暂感受:

# 修改字符串的时候没有发生变化s_1 = [[1,2], 'mu', 'linux']s_2 = s_1.copy()s_2[1] = 'wj'print(s_1)print(s_2)# 修改列表的时候发生了变化,证明s_1和s_2是有联系的s_1 = [[1,2], 'mu', 'linux']s_2 = s_1.copy()s_2[0][1] = 3print(s_1)print(s_2)

深浅拷贝混合使用:

import copya = ['mu', 123, [6000,5000]]b = copy.copy(a)b[0] = 'lei'b[1] = 456b[2][1] -= 2000print(a)print(b)c = copy.deepcopy(a)                    # 此处深copy时a[2][1]已经是3000了c[0] = 'cao'c[1] = 789c[2][1] -= 1000print(c)print(a)print(b)

 

转载于:https://www.cnblogs.com/dmjx/p/7890916.html

你可能感兴趣的文章
C#遍历DataSet中数据的几种方法总结
查看>>
linux tomcat安装以及配置
查看>>
Git——Git的简单介绍【一】
查看>>
Vue源码学习三 ———— Vue构造函数包装
查看>>
winform编程中的跨线程访问资源(转)
查看>>
自制操作系统Antz(5)——深入理解保护模式与进入方法
查看>>
Creating one array of strings in c fails ,why?
查看>>
POJ 3683 Priest John's Busiest Day(2-sa路径输出,4级)
查看>>
hdu 1244 Max Sum Plus Plus Plus(DP线性区间)
查看>>
4.unity3D 预设的一例
查看>>
XP Sp3 开机就要激活,否则无法登录windows桌面
查看>>
转:智能模糊测试工具 Winafl 的使用与分析
查看>>
初识 Fuzzing 工具 WinAFL
查看>>
python:学习自顶向下程序设计:竞技体育模拟
查看>>
整数中1出现的次数(important)
查看>>
【转】软件设计模式六大原则详解
查看>>
线程中允许操作控件
查看>>
简单的论坛信息
查看>>
知识点:Oracle+表连接方式(内连接-外连接-自连接)+详解 来自百度文库
查看>>
centos 7 修改ssh登录端口
查看>>