A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

濮志强

初级黑马

  • 黑马币:20

  • 帖子:6

  • 精华:0

[报到] 浅谈copy

© 濮志强 初级黑马   /  2019-11-5 13:44  /  602 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在大学的时候就已经听到一些同学说想要转IT,还有几个高中同学也在从事着这方面的工作,听他们聊完之后,感觉特别高大上, 毕业之后,找了一份工作,做了三个月,但并不喜欢那份工作,就决定报班学习,然后在朋友的推荐和介绍下,来到了黑马,学习了python。
    我是一个python小白,在学习之前对python了解的不多,经过这段时间学习,我发现我还是挺喜欢python的,虽然学起来感觉有些吃力,但我一样会认真的把它学好,所以在这里我要对自己说,既然来到了黑马,选择了python,那就好好学习,下面浅谈一下copy
obj1 = obj.copy()
把obj中值,拷贝一份到obj1,obj就是一个独立的list,然后修改其中一个list的时候不影响下一个,因为这已经是两个list了
but copy()之后,obj与ojb1的内存地址是不同的,但是里边的元素内存地址都是“相同”的,他们两个的元素是共享的,改掉其中一个之后就和a=1;b=a;修改a,b值不变一样,但是还有一种情况。list有一个子list的时候,修改obj1中子列表的值,obj中的子列表也会改变,这就和两个list相等是一样的,只拷贝了杯子(容器),里边的值还是共享的
copy()  成为“浅copy()”,只拷贝了第一层,深层次没有拷贝
如果想都相同就需要调用py 工具箱用“深copy”
import copy  #调用copy
obj1 = copy.deepcopy(obj)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马