鱼C论坛

 找回密码
 立即注册
查看: 1931|回复: 4

[已解决]小白求问sort列表问题

[复制链接]
发表于 2017-7-21 16:55:10 | 显示全部楼层 |阅读模式

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

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

x

a=[10,20,31,8,99,100,47]
print (a.sort())

为啥得到的是none?
最佳答案
2017-7-21 17:53:48
type(a.sort())   返回  “<class 'NoneType'>”
type(sorted(a))   返回  “<class 'list'>”
说明a.sort() 类似于调用了一个函数,函数的功能只是排序,没有return
sorted(a) 则是return 一个list,这个list =a.sort()
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-7-21 17:11:35 | 显示全部楼层
貌似list1.sort()是没有返回值的,你可以这样做
(1)先变化后,再输出
>>> a=[10,20,31,8,99,100,47]
>>> a.sort()
>>> a
[8, 10, 20, 31, 47, 99, 100]
>>> print(a)
[8, 10, 20, 31, 47, 99, 100]
(2)你也可以用内置函数sorted(),这个可以直接在print里使用,如
>>> a=[10,20,31,8,99,100,47]
>>> print(sorted(a))
[8, 10, 20, 31, 47, 99, 100]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-21 17:20:35 | 显示全部楼层
亭ting 发表于 2017-7-21 17:11
貌似list1.sort()是没有返回值的,你可以这样做
(1)先变化后,再输出
>>> a=[10,20,31,8,99,100,47]

sort和sorted的用法有什么不一样吗,直接在shell里面sort可以用 在编辑器里面就没有返回值了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-21 17:47:49 | 显示全部楼层
list.sort()功能是针对列表自己内部进行排序, 不会有返回值, 因此返回为None。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-21 17:53:48 | 显示全部楼层    本楼为最佳答案   
type(a.sort())   返回  “<class 'NoneType'>”
type(sorted(a))   返回  “<class 'list'>”
说明a.sort() 类似于调用了一个函数,函数的功能只是排序,没有return
sorted(a) 则是return 一个list,这个list =a.sort()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-28 21:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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