python整理九——浅谈浅拷贝与深拷贝
来源:互联网 发布:手机五级网络 编辑:程序博客网 时间:2024/06/06 11:37
第一次接触深拷贝和浅拷贝是在c++语言中,python中,也存在着深拷贝和浅拷贝。
浅拷贝,就是给你一个引用,当源数据改变的时候,你以前获取的引用所指向的数据也会跟着变化;深拷贝,也是给你一个引用,不同的是它拷贝了份资源,给你的引用指向这份拷贝的资源,与源数据无任何联系。
以代码说明一切:
- >>> ls = [2,7, 'ac', ['2a', 45,10], {'a' : 'a1', 'b':123, 'z': 4, 'r' : 33}, 0]
- >>> ls2 = ls
- >>> ls3 = ls[:]
- >>> import copy
- >>> ls4 = copy.deepcopy(ls)
- >>> ls
- [2, 7, 'ac', ['2a', 45, 10], {'a': 'a1', 'r': 33, 'b': 123, 'z': 4}, 0]
- >>> ls2
- [2, 7, 'ac', ['2a', 45, 10], {'a': 'a1', 'r': 33, 'b': 123, 'z': 4}, 0]
- >>> ls3
- [2, 7, 'ac', ['2a', 45, 10], {'a': 'a1', 'r': 33, 'b': 123, 'z': 4}, 0]
- >>> ls4
- [2, 7, 'ac', ['2a', 45, 10], {'a': 'a1', 'r': 33, 'b': 123, 'z': 4}, 0]
- >>> ls.append(2008)
- >>> print ls
- [2, 7, 'ac', ['2a', 45, 10], {'a': 'a1', 'r': 33, 'b': 123, 'z': 4}, 0, 2008]
- >>> print ls2
- [2, 7, 'ac', ['2a', 45, 10], {'a': 'a1', 'r': 33, 'b': 123, 'z': 4}, 0, 2008]
- >>> print ls3
- [2, 7, 'ac', ['2a', 45, 10], {'a': 'a1', 'r': 33, 'b': 123, 'z': 4}, 0]
- >>> print ls4
- [2, 7, 'ac', ['2a', 45, 10], {'a': 'a1', 'r': 33, 'b': 123, 'z': 4}, 0]
第1行,初始化一个list
第2—5行,浅拷贝与深拷贝
第6—13行,源数据发生变化前,打印出源数据以及浅拷贝和深拷贝的数据
第14行,源数据增加一个新数据
第15—22,打印出浅拷贝与深拷贝数据
看到结果,就明白浅拷贝与深拷贝了
- python整理九——浅谈浅拷贝与深拷贝
- Python对象拷贝——深拷贝与浅拷贝
- python整理二十五——谈谈浅拷贝与深拷贝
- python整理二十五——谈谈浅拷贝与深拷贝
- python list 浅谈深拷贝,浅拷贝
- python学习笔记——浅拷贝与深拷贝
- python之路——深拷贝与浅拷贝
- Python学习笔记——深拷贝与浅拷贝
- 【转】浅谈深拷贝与浅拷贝
- Python学习笔记(九)—Python中的赋值、浅拷贝和深拷贝(含图)
- Python的浅拷贝与深拷贝
- python/c++ 深拷贝与浅拷贝
- Python 深拷贝与浅拷贝
- Python中的浅拷贝与深拷贝
- python 浅拷贝与深拷贝
- Python的深拷贝与浅拷贝
- Python中深拷贝与浅拷贝
- python append()与深拷贝、浅拷贝
- 计算机考证
- wxWidgets和MFC动态类型信息比较
- 一个简单的折叠效果
- 调整数组顺序使奇数位于偶数前面
- 中国人应该知道的知识
- python整理九——浅谈浅拷贝与深拷贝
- Linux Telnet SSH
- 真是老古董,原来书是可以这样买的
- sql server 2005 还是错了
- 一位大四学生的面试经历和体会
- 转载:JAVA连接各种数据库的JDBC驱动下载及连接字符串URL写法
- 从ASP过渡到ASP.net遗留的二十大积习
- 什么是GNU
- 云计算争夺战:没中国人啥事