鱼C论坛

 找回密码
 立即注册
查看: 2173|回复: 6

[已解决]菜鸟疑惑:011讲的课后练习题第2题,我的代码哪里不对,求解答

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

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

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

x
零基础学习中,第11讲课后作业第2题,要把列表的最后一个元素插入到最前面去。
我第一遍的代码是:
  1. list1 = [1, 3, 2, 9, 7, 8]
  2. temp = list1.pop()
  3. list2 = list1.insert(0,temp)
  4. print(list2)
复制代码

这种方法得到的结果是None。

修改代码后为:
  1. list1 = [1, 3, 2, 9, 7, 8]
  2. temp = list1.pop()
  3. list1.insert(0,temp)
  4. print(list1)
复制代码

就没有问题了

为什么,两者区别在哪儿呢?
最佳答案
2020-2-9 15:24:15
list1.insert(0,temp)没有返回值,所以list2为None
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-9 15:24:15 | 显示全部楼层    本楼为最佳答案   
list1.insert(0,temp)没有返回值,所以list2为None
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-2-9 15:33:55 | 显示全部楼层
这是固定用法,不能 list2 = list1.insert(0, temp),只能 list1.insert(0,temp),不然 list2 为 None,不符合预期结果。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-9 15:36:59 | 显示全部楼层
冬雪雪冬 发表于 2020-2-9 15:24
list1.insert(0,temp)没有返回值,所以list2为None

谢谢(#^.^#)~好像有点懂了。。。只能先记住,可能等学得深入了才能幡然醒悟
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-9 17:36:04 | 显示全部楼层
来楼主看一下这个。
上面的list2 名字容易造成误导,想改成别的。b,c什么的。
给楼主一段代码的截图,楼主看看,这个代码输出以后是什么:
批注 2020-02-09 173041.png
还有,一个函数如果没有return,那么他的return值是多少?
如果把我上面的代码def段加上return 4,那么结果又会怎样?

方法和函数具有相似的地方。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-9 17:42:12 | 显示全部楼层
为避免不能及时看到回复,给出我的理解。希望采纳
这个代码的截图,输出结果是:
3
None
一个函数如果没有return,它的return值就是none
如果把上面的代码def段加上return4,结果如下 批注 2020-02-09 173836.png
函数和方法有类似之处。
如果楼主还没学到函数,那就先不要管他,后期学完函数,类。你就明白了。
但是请记住,除了设计python得人自己定义的固定用法以外,一切结果都是有原因的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-9 20:21:01 | 显示全部楼层
沉默的人e 发表于 2020-2-9 17:42
为避免不能及时看到回复,给出我的理解。希望采纳
这个代码的截图,输出结果是:
3

感谢感谢!前后两个例子一对比感觉清晰多了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-3 18:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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