深拷贝和浅拷贝之list、dataframe

python list:

在这里插入图片描述

b = a是浅拷贝,b = list(a)和b = copy.cpoy(a)是深拷贝。

浅拷贝,a和b指向的是一个地址。当b改变后,a也会改变。

深拷贝,a和b指向的是两个地址,当b改变后,a不受影响。

Java list:

在这里插入图片描述

list2 = Lists.newArrayList(list1)是深拷贝,list3 = list1是浅拷贝。

深拷贝,list2改变后,list1的值不会改变。

浅拷贝,list3改变后,list1的值也会改变。

python dataframe:

在这里插入图片描述
在这里插入图片描述

深拷贝,pd.DataFrame.copy(user_info, deep=True),原值改变,复制的新值不会改变。

浅拷贝,pd.DataFrame.copy(user_info, deep=False),原值改变,复制的新值也改变。

浅拷贝: user_info_copy2 = user_info


版权声明:本文为yueliang666666原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。