鱼C论坛

 找回密码
 立即注册
查看: 2459|回复: 8

python 第12讲第4题错了!

[复制链接]
发表于 2018-3-16 16:59:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
copy()和切片不一致,我理解切片拷贝是 list2 = list[:],不是list2 = list1,难道理解错了?


list1 = [1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18]
list2 = list1.copy()

list1[1][2] = ['小丑鱼']
print(list2)

list1[1][2] = ['小鱼']
print(list1)
结果:
[1, [1, 2, ['小丑鱼']], 3, 5, 8, 13, 18]
[1, [1, 2, ['小鱼']], 3, 5, 8, 13, 18]

另外问一下我为什么不能在其他版块发帖?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-16 17:11:20 | 显示全部楼层
理解:
list2 = list1[:]  #表示有2相同个物体(从list1中 复制一份给 list2。也就是说有2份。list1 1份 list2 1份,他们的内容一样。)
list2 = list1 #一个物体 ,2个叫法(2个变量,同时指向一个内容)


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-16 17:13:22 | 显示全部楼层
ba21 发表于 2018-3-16 17:11
理解:
list2 = list1[:]  #表示有2相同个物体(从list1中 复制一份给 list2。也就是说有2份。list1 1份 l ...

copy()实际测试 list2 = list1是一样的概念
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2018-3-16 17:14:47 | 显示全部楼层
dahua123333 发表于 2018-3-16 17:13
copy()实际测试 list2 = list1是一样的概念

是的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2018-3-16 17:15:49 | 显示全部楼层
dahua123333 发表于 2018-3-16 17:13
copy()实际测试 list2 = list1是一样的概念

http://www.runoob.com/python3/python3-att-list-copy.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-16 17:18:11 | 显示全部楼层
如果是list2=list1,那么相当于两个标签共享一块内存
如果是list2=list1[:] 或者使用copy,那么会开辟两块内存,分布使用,但是其内部如果有列表之类的,那么这些还是会共享一块内存
如果要实现完全的拷贝,请用copy模块的copy.deepcopy函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-16 17:18:33 | 显示全部楼层
你的理解是对的,但是这里有一个深拷贝和浅拷贝的区别,如果说没有列表套着列表

那么深拷贝和浅拷贝一般没有太大的区别,但是如果有列表套着列表的有区别了

你可以看一下这样深拷贝之后的区别
123.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-16 17:20:05 | 显示全部楼层
具体差别,你可以看一下这个博客:http://blog.csdn.net/qq_32907349/article/details/52190796
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-16 20:44:04 | 显示全部楼层
这是深浅copy的区别:
你用的是浅copy,所以list1的列表中[1, 2, ['小甲鱼']]的地址依旧会被list2继承,
当这个镶嵌列表改变时,list2也会改变.
这里有篇非常详细的文章https://www.cnblogs.com/Eva-J/p/5534037.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 02:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表