深拷贝和浅拷贝之list、dataframe

python list:

深拷贝和浅拷贝之list、dataframe_第1张图片

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

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

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

Java list:

深拷贝和浅拷贝之list、dataframe_第2张图片

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

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

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

python dataframe:

深拷贝和浅拷贝之list、dataframe_第3张图片
深拷贝和浅拷贝之list、dataframe_第4张图片

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

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

浅拷贝: user_info_copy2 = user_info

你可能感兴趣的:(开发,java,python,列表)