相等
'is '和'=='
变量
id:在内存中的存储位置,id(a)
value: ==
type:数据类型
==: 判断数据类型和值
is:判断id,数据类型和值
li =[1,'1',6]
li1 = li #直接赋值,两者满足'is'
li1
[1, '1', 6]
id(li)
140492002190728
id(li1)
140492002190728
li is li1
True
li2 =li.copy() #列表拷贝,另外开辟内存空间
li2
[1, '1', 6]
li2 is li
False
li2 == li
True
深拷贝与浅拷贝
所有的数值类型(布尔、数字)、字符串都是不可变数据类型
列表是可变数据类型
列表里嵌套列表时,浅拷贝是拷贝内置列表的存储位置
深拷贝会把内置列表的内容拷贝出来,重新存储一份
浅拷贝
- 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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。