变量的传递: a = 2 a = b 是把b指向的数据给a a和b的地址相同,最终a和b都指向2 浅拷贝: c = 3 d=4 e=[c, d] f=copy.copy(e) e和f的内存地址不同,因为e. f是列表 列表是一个容器,容器也是有地址的 e和f的元素地址是相同的,e和f指向同一元素 深 ...
分类:
其他好文 时间:
2020-07-21 13:36:33
阅读次数:
82
变量、对象、引用之间的关系 变量是一个系统表的元素,拥有指向对象的连接的空间 对象是被分配的一块内存,存储其所代表的值 引用是自动形成的从变量到对象的指针 类型属于对象,不是变量 对象 Python中一切皆对象,如:1,'a',[1,2,3],(1,),{'a':4} 变量 a=3,a就是一个变量 ...
分类:
编程语言 时间:
2020-07-21 09:35:53
阅读次数:
79
问题处理: 需要把 :a = [1,1,2,3,4,5,1,4,5,6,8,9],里面的级数全部删除 a = [1,1,2,3,4,5,1,4,5,6,8,9] for i in a: if i % 2 !=0: a.remove(i) print(a) #循环删list会导致下标错乱结果:[1, ...
分类:
其他好文 时间:
2020-07-19 00:44:58
阅读次数:
65
1.深浅拷贝 在正式开始说深浅拷贝之前,我们先来看一个例子吧 import copy a = [1, 2, 3, [4, 5]] b = copy.copy(a)#浅拷贝 c = copy.deepcopy(a)#深拷贝 d = a a.append(6) a[3].append(6) print( ...
分类:
编程语言 时间:
2020-07-14 13:02:58
阅读次数:
62
题目描述 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的 深拷贝。 我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示: val:一个表示 Node.val 的整数。 ...
分类:
其他好文 时间:
2020-07-14 11:44:49
阅读次数:
57
??:具备隐式返回操作,不用return也行。 赋值 浅拷贝 深拷贝 共享,就解决了以上代码内存消耗的问题。 __proto__: 内部属性,查找当前对象的原型对象。 在原型链上 一直往上找,内层(对象自身的),次外层,最外层, 优先展示内层的。 尽量少使用__proto__??? 以上,数组身上的 ...
分类:
编程语言 时间:
2020-07-12 13:55:17
阅读次数:
67
Python中的变量 Python中的变量可以看作数值的一个标签,当给变量赋值时,该变量将指向该值域的存储空间,给该变量重新赋一个新值时,将释放当前值域的存储空间,指向另一个值域存储空间。 对于Python来说是以值域为内存分配对象,变量名只是指向该内存空间,当值域发生变化时,系统分配另外一块内存, ...
分类:
编程语言 时间:
2020-07-11 00:02:08
阅读次数:
68
<script> /* 1,浅拷贝只拷贝一层,更深层次对象级别的只拷贝引用 2,深拷贝拷贝多层,每一级别的数据都会拷贝 */ var obj = { id:1, name:'andy', msg: { age:18 }, color:['pink','red'] } //此处为浅拷贝 只能拷贝最外一 ...
分类:
其他好文 时间:
2020-07-08 23:10:08
阅读次数:
73
前言:在认识深浅拷贝的时候,先了解python中的可变类型与不可变类型。 以及 python中的传参到底是传递值还是传递引用(内存地址) python中的可变数据类型主要有 :(列表,字典) 指的是在内存地址(id)不变的情况下,可变数据类型的‘值’是可以发生改变的,如果可变类型是 +=, appe ...
分类:
编程语言 时间:
2020-07-05 17:11:11
阅读次数:
58
JS中数据类型分为两类: 基本数据类型 + 引用数据类型 1.基本数据类型 直接在栈内存中保存数据值,按值访问。 有5种:String字符串、Number数字、 Boolean布尔值、Undefined、Null 当copy数据时,copy到的是数据值本身。基本数据类型的变量与变量之间是独立存在,修 ...
分类:
其他好文 时间:
2020-07-03 21:28:27
阅读次数:
57