鱼C论坛

 找回密码
 立即注册
查看: 1590|回复: 2

[已解决]代码疑问

[复制链接]
发表于 2023-5-22 20:20:45 | 显示全部楼层 |阅读模式
1鱼币
如图,两串代码,就变量名不同,为啥最后输出结果不一样
最佳答案
2023-5-22 20:20:46
这是因为Python中的reverse()函数会对原列表进行反转并返回None,即直接修改原始列表。因此,当执行a.reverse()后,列表a被反转了并返回None,赋值给变量b时,b实际上是None,而不是被反转后的列表。而对于mylist.reverse(),它直接改变了mylist列表本身,并且返回的结果是None。所以,如果你想得到一个反转后的列表,可以先使用切片操作,然后再调用reverse()函数,或者先调用reverse()函数,再将其赋值给另一个变量。

有用请设置最佳答案
图片3.png

最佳答案

查看完整内容

这是因为Python中的reverse()函数会对原列表进行反转并返回None,即直接修改原始列表。因此,当执行a.reverse()后,列表a被反转了并返回None,赋值给变量b时,b实际上是None,而不是被反转后的列表。而对于mylist.reverse(),它直接改变了mylist列表本身,并且返回的结果是None。所以,如果你想得到一个反转后的列表,可以先使用切片操作,然后再调用reverse()函数,或者先调用reverse()函数,再将其赋值给另一个变量。 有用请 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-22 20:20:46 | 显示全部楼层    本楼为最佳答案   
这是因为Python中的reverse()函数会对原列表进行反转并返回None,即直接修改原始列表。因此,当执行a.reverse()后,列表a被反转了并返回None,赋值给变量b时,b实际上是None,而不是被反转后的列表。而对于mylist.reverse(),它直接改变了mylist列表本身,并且返回的结果是None。所以,如果你想得到一个反转后的列表,可以先使用切片操作,然后再调用reverse()函数,或者先调用reverse()函数,再将其赋值给另一个变量。

有用请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-22 20:22:02 | 显示全部楼层
因为 reverse 是原地排序,返回值自然是None

你直接用 a 就已经是反向排序好的了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-23 03:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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