相等
'is '和'=='
变量
id:在内存中的存储位置,id(a)value: ==type:数据类型==: 判断数据类型和值is:判断id,数据类型和值li =[1,'1',6]li1 = li #直接赋值,两者满足'is'li1[1, '1', 6]id(li)140492002190728id(li1)140492002190728li is li1Trueli2 =li.copy() #列表拷贝,另外开辟内存空间li2[1, '1', 6]li2 is liFalseli2 == liTrue
深拷贝与浅拷贝
所有的数值类型(布尔、数字)、字符串都是不可变数据类型
列表是可变数据类型列表里嵌套列表时,浅拷贝是拷贝内置列表的存储位置
深拷贝会把内置列表的内容拷贝出来,重新存储一份浅拷贝
- li.copy()
- li[:]
li=[[1,3],'2',4]li1 = li.copy()li1[[1, 3], '2', 4]li[0].append(5)li[[1, 3, 5], '2', 4]li1[[1, 3, 5], '2', 4]
import copy
- copy.copy(li)
>>> import copy>>> li2 = copy.copy(li)>>> li[0].append(0)>>> li[[1, 3, 5, 0], '2', 4]>>> li2[[1, 3, 5, 0], '2', 4]
import copy
- copy.deepcopy()
>>> li3 = copy.deepcopy(li)>>> li[0].append(1001)>>> li[[1, 3, 5, 0, 1001], '2', 4]>>> li3[[1, 3, 5, 0], '2', 4]>>> id(li[0])139645242725128>>> id(li3[0])139645237769992