深浅拷贝

赋值运算

l1 = [1,2,3,['张三','李四']]
l2 = l1

l1[0] = 111
print(l1)  # [111, 2, 3, ['张三','李四']]
print(l2)  # [111, 2, 3, ['张三','李四']]

l1[3][0] = '王五'
print(l1)  # [111, 2, 3, ['王五', '李四']]
print(l2)  # [111, 2, 3, ['王五', '李四']]

   在赋值中,l1和l2指向的是同一个内存地址,所以是完全一样的;指向同一个列表时任何一个变量对列表进行修改,剩下的那个变量在使用列表时,获取到的就是改变之后的列表

浅拷贝

copy,只是拷贝了原数据的第一层元素

 

 

 

深拷贝

deepcopy,可变的数据类型重新开辟一块空间;不可变的数据类型共用之前的数据

 

posted @ 2019-07-17 15:29  DF-包子  阅读(194)  评论(0编辑  收藏  举报