首页 > 其他 > 详细

可变与不可变类型数据,列表的copy方法

时间:2018-08-12 16:30:39      阅读:176      评论:0      收藏:0      [点我收藏+]

我们先来了解一下可变与不可变类型的数据

(1)可变类型:列表,字典(内存中的数据允许被修改)

不可变类型:数字,字符串,元组(内存中的数据不允许被修改)

接着我们通过一个实例来看一看可变与不可变类型数据之间的区别

下面这个代码,我们看到的结果会是什么呢

技术分享图片

结果是这样的

技术分享图片

很显然a的值肯定是要发生变化的,但是b的值并没有随之改变哦

(2)接着我们来看一下列表的copy方法,copy方法用于复制列表当中的元素

     示例:技术分享图片

当然结果是这样的:技术分享图片

如果我们使用列表当中的方法修改列表当中的一项元素结果会是什么样的呢

技术分享图片

结果是这样的:

技术分享图片

很明显,被复制的对象与复制得到的对象并不互相影响

那么如果一个列表中嵌套了一个列表,结果会是什么样呢

技术分享图片

结果设这样 的:

技术分享图片

也就是说,对于带有嵌套列表的列表,用copy方法会改变复制对象中嵌套列表里的内容,但是对于复制对象大的列表中的内容是不会发生改变的

如果我们不用列表自带的copy方法,而是导入copy模块,结果会有不同吗

技术分享图片

结果是这样 的

技术分享图片

诶,结果似乎是与列表自带的copy方法一样的,好吧,copy模块的copy方法与列表自带的copy方法是一样的,这样 的copy方法其实是浅复制,copy模块当中有一个deepcopy方法,可以完全复制

技术分享图片

结果是这样的

技术分享图片

 

可变与不可变类型数据,列表的copy方法

原文:https://www.cnblogs.com/niusha/p/9463127.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!