都是拷贝,不存在快捷方式
——目的:避免一些隐藏的错误
——比如这样的代码:
# 传入的list为dd1 = dd[:]
# 这样改变dd1就不会改变dd的值
def func(l):
l.append(4)
l[3].append(5)
my_list = [1,2,3,[]]
func(m_list[:])
print(my_list)
浅拷贝:
深拷贝:
a == b: | a is b | |
---|---|---|
判断a和b分别的value | 判断分别的id值(少用) | |
元组里列表的值变=元组变 | 》=-255 & 《 =256 (大小可缓存的) |
append后,first里的子列表会又多了一个5