一,浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改 其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数,如 list();3,copy 模块 的 copy()函数}。 1.1 不可变对象的拷贝 因为不可变对象只有在修改时才会开辟新空间,所以拷 ...
分类:
其他好文 时间:
2018-09-29 20:19:27
阅读次数:
158
首先是深、浅拷贝的概念: 浅拷贝:shallow copy,只拷贝第一层的数据。Perl中赋值操作就是浅拷贝 深拷贝:deep copy,递归拷贝所有层次的数据,Perl中Clone模块的clone方法,以及Storable的dclone()函数是深拷贝 所谓第一层次,指的是出现嵌套的复杂数据结构时 ...
分类:
其他好文 时间:
2018-09-28 22:38:32
阅读次数:
213
赋值 a = 1,b = a,则 a 和 b指向同一id地址即1的位置 我们把1比作一块林地,a发现了这块地,然后告诉了邻居b,a和b都有相同的权限在这块地上伐木 浅拷贝 a=[1,2,3[4,5,6]],b=copy.copy(a),浅拷贝只能克隆a中第一层(1,2,3),深层中b还是和a指向同一 ...
分类:
其他好文 时间:
2018-09-28 16:33:48
阅读次数:
124
深浅拷贝 一、浅拷贝 列表中存储的是数据的内存地址,当我们要查询或修改列表中的数据时,我们是通过列表中的地址找到要访问的内存。当我们修改列表中的数据时,如果修改的是一个不可变类型(整型,长整型,浮点数,复数,布尔,字符串,元组),会开拓一个新的内存空间用于存放新的数据,然后把列表中的地址修改为存放新 ...
分类:
编程语言 时间:
2018-09-27 01:34:40
阅读次数:
126
切片操作首先支持下标索引,通过[N:M:P]操作索引正向从0开始,逆向从-1开始N:切片开始位置M:切片结束位置(不包含)P:指定切片步长,为正数表示按照指定步长正向切片,为负数反之一、列表的切片操作列表切片后还是列表通过列表生成器定义一个列表:In[2]:a=[nforninrange(10)]In[3]:aOut[3]:[0,1,2,3,4,5,6,7,8,9]通过切片浅拷贝对象:In[4]:
分类:
编程语言 时间:
2018-09-26 23:57:37
阅读次数:
332
a = [11,22,33] b = a #指向同一个内存地址 id (a)#2585545319536 id(b)#2585545319536 #浅拷贝 #深拷贝,拷贝出一个新的内存地址 import copy c = copy.deepcopy(a) id(a) 2541445843848 id ...
分类:
其他好文 时间:
2018-09-23 18:22:12
阅读次数:
169
list 定义一个list 1 stus=['hedy','hedy1','hedy2'] 取值 增加 修改 删除 常用其他方法 多维数组 二维数组 list切片 字典 定义一个字典 取值 增加 修改与增加一样 d['money']=200 删除 其他常用方法 字典嵌套 list的深拷贝和浅拷贝 l ...
分类:
编程语言 时间:
2018-09-22 19:47:37
阅读次数:
269
//for in 不可以获取不可枚举的属性 //hasOwnProperty 会忽略原型链上的属性 //Object.getOwnPropertyNames 可以获取可枚举和不可枚举的属性 //深拷贝 ...
分类:
其他好文 时间:
2018-09-22 18:26:50
阅读次数:
151
1. 简单变量的复制 八种基本数据类型的(int,boolean,char,byte,short,float,double.long)都适用于这种情况。 2. 对象的复制 对象的复制并没有基本类型变量的复制这么简单,下面看一个例子 2.1 准备一个Student类 2.2 测试Object的测试 2 ...
分类:
编程语言 时间:
2018-09-22 10:35:05
阅读次数:
154
一、Python语法以及其他基础部分: 1.可变与不可变类型 2.浅拷贝与深拷贝的实现方式、区别;deepcopy如果你来设计,如何实现 3.new()与init()的区别 4.你知道几种设计模式 5.编码与解码你了解过吗 6.列表推导式list comprehension和生成器的优劣 7.什么是 ...
分类:
编程语言 时间:
2018-09-20 21:54:14
阅读次数:
257