计算机管理系统:电脑网络技术记录本

Python

当前位置:首页 > 程序语言集合 > Python

python中,什么是浅拷贝和深拷贝?它们有什么区别?

什么是列表浅拷贝:浅拷贝就是说,只复制第一层列表,如果有列表嵌套或多层列表,仍然是采取的指向内存地址,并不是拷贝的,第一层是拷贝的,第二层,三层是指向的。


比如:

list = ['hello','hi','ok',[100,200,300],'python','world']


这是个列表,而且是个列表嵌套,列表里面还有个列表,浅拷贝只能拷贝第一层列表,带数字的列表是属于第二层列表,如果原始数据修改第二层的数字列表,拷贝的列表第二次数字列表也会被改变。


什么是列表的深拷贝:深拷贝就是接着上面的浅拷贝,解决浅拷贝不能实现拷贝多层次的问题,深拷贝可把第一层和多层的列表一起拷贝出来,放在独立的内存空间,和原始列表再无关系。


list = ['hello','hi','ok',[100,200,300],'python','world']

深拷贝:会把第二层的数字列表一起拷贝,就算原始数据改变了第二层的数字列表,深拷贝的列表也不会跟着原始列表改变。


用法:


浅拷贝可以使用内置函数:xxx.copy()拷贝,可也可使用copy模块:copy.copy(xxx)


深拷贝只能使用copy模块:copy.deepcopy(xxx)。

python中,什么是浅拷贝和深拷贝?它们有什么区别?

相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~