鱼C论坛

 找回密码
 立即注册
查看: 1139|回复: 9

[已解决]列表的命名

[复制链接]
发表于 2020-9-4 16:03:27 | 显示全部楼层 |阅读模式

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

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

x
>>> old = [1, 2, 3, 4, 5]
>>> new = old
>>> old = [6]
>>> print(new)

请问一下,这里不应该是对old的列表再进行一个新的命名吗,如果是再取了一个新的列表命名为new,不应该是new = old(0;5)吗
最佳答案
2020-9-4 16:39:35
然明亮 发表于 2020-9-4 16:21
可是课程上当list8 = list6时
list6.sort  list8也会跟着顺序排列为什么是这种情况啊

刚刚说了是一个箱子外面贴了两个标签,你在没有把标签拿走的时候,通过这两个标签操作的都是同一个箱子。   也因为list.sort()是本地修改。就是在原列表上直接排序,不会生成新的列表。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-4 16:11:52 | 显示全部楼层

>>> old = [1, 2, 3, 4, 5]  old指向列表[1,2,3,4,5]
>>> new = old  nre也指向列表[1,2,3,4,5]
>>> old = [6]  old指向列表[6]
>>> print(new)  nrw仍指向列表[1,2,3,4,5]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-4 16:13:18 | 显示全部楼层
  1. old = [1, 2, 3, 4, 5]
  2. new = old
复制代码

这样并没有创建新的列表,只是给这个列表多加了一个引用。
你可以理解为这个列表是一个箱子。new old 这两个变量,都是贴在箱子外面的便签。方便你认识它。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-4 16:18:02 | 显示全部楼层
那像课程上说的list6 = [32,23,9,5,4,2,1,0]
list8 = list6
list6.sort = [0,1,2,4,5,9,23,32]
list8也跟着顺序排序,为什么是这种情况呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-4 16:21:39 | 显示全部楼层
怀心抱素 发表于 2020-9-4 16:13
这样并没有创建新的列表,只是给这个列表多加了一个引用。
你可以理解为这个列表是一个箱子。new old 这 ...

可是课程上当list8 = list6时
list6.sort  list8也会跟着顺序排列为什么是这种情况啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-4 16:22:16 | 显示全部楼层
冬雪雪冬 发表于 2020-9-4 16:11
>>> old = [1, 2, 3, 4, 5]  old指向列表[1,2,3,4,5]
>>> new = old  nre也指向列表[1,2,3,4,5]
>>> ol ...

那像课程上说的list6 = [32,23,9,5,4,2,1,0]
list8 = list6
list6.sort = [0,1,2,4,5,9,23,32]
list8也跟着顺序排序,为什么是这种情况呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-4 16:39:35 | 显示全部楼层    本楼为最佳答案   
然明亮 发表于 2020-9-4 16:21
可是课程上当list8 = list6时
list6.sort  list8也会跟着顺序排列为什么是这种情况啊

刚刚说了是一个箱子外面贴了两个标签,你在没有把标签拿走的时候,通过这两个标签操作的都是同一个箱子。   也因为list.sort()是本地修改。就是在原列表上直接排序,不会生成新的列表。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-4 16:40:53 | 显示全部楼层
怀心抱素 发表于 2020-9-4 16:39
刚刚说了是一个箱子外面贴了两个标签,你在没有把标签拿走的时候,通过这两个标签操作的都是同一个箱子。 ...

明白了 十分感谢你的帮助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-4 16:40:55 | 显示全部楼层
  1. list6.sort = [0,1,2,4,5,9,23,32]
复制代码

这种写法是错误的。 list.sort()方法的返回值应该是None。不是列表对象。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-4 16:44:27 | 显示全部楼层
怀心抱素 发表于 2020-9-4 16:40
这种写法是错误的。 list.sort()方法的返回值应该是None。不是列表对象。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 22:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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