首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深拷贝和浅拷贝之list、dataframe

python list:

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

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

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

Java list:

List list1 = Lists.newArrayList();

list1.add("1");

list1.add("2");

list1.add("3");

List list2 = Lists.newArrayList(list1);

list2.remove("2");

System.out.println(list1);// [1, 2, 3]

System.out.println(list2);// [1, 3]

List list3 = list1;

list3.remove("2");

System.out.println(list1);// [1, 3]

System.out.println(list3);// [1, 3]

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201229A0EKR100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券