我想问一下这是为什么?

2018-04-04 18:37:21 +08:00
 YangJian1994
a = ['1123dsfd', 'fdgt565', '345r']
b = a.sort()
为什么 b 得到的是 None ?不是很明白。
3563 次点击
所在节点    Python
18 条回复
ulala
2018-04-04 18:39:34 +08:00
因为 sort 是原地排序,不返回任何东西…… help(a.sort)就知道了
IanPeverell
2018-04-04 18:41:10 +08:00
按照你的想法,应该写成

b = sorted(a)

a.sort() 是对 a 排序,无返回
ballshapesdsd
2018-04-04 18:59:56 +08:00
骚年要学会查 python 文档啊
wlwood
2018-04-04 21:17:34 +08:00
其实你写 C 排序的时候就明白了呀。传递一个指针数组过去,直接对那个内存地址进行操作,而不是重新分配地址来操作。这样就不用返回的结果了。
congeec
2018-04-04 22:18:16 +08:00
函数式和命令式混用的语言,要小心
qsnow6
2018-04-04 22:34:12 +08:00
a.sort()是个方法,无返回值;
python 在执行无返回值的函数时,默认返回一个 None
vegito2002
2018-04-04 22:42:21 +08:00
@congeec 同感, 刚开始用的时候真的是各种踩坑。
arischow
2018-04-05 04:34:10 +08:00
RTFD
wujunze
2018-04-05 12:31:00 +08:00
RTFM
YangJian1994
2018-04-09 10:06:52 +08:00
@ulala 好的
YangJian1994
2018-04-09 10:07:13 +08:00
@IanPeverell 谢谢,知道了
YangJian1994
2018-04-09 10:08:15 +08:00
@ballshapesdsd ok,会的
YangJian1994
2018-04-09 10:08:44 +08:00
@wlwood 受教了,谢谢
YangJian1994
2018-04-09 10:09:57 +08:00
@congeec 恩恩,知道了
YangJian1994
2018-04-09 10:10:19 +08:00
@qsnow6 恩恩,谢谢
YangJian1994
2018-04-09 10:10:41 +08:00
@vegito2002 是的
YangJian1994
2018-04-09 10:11:06 +08:00
@wujunze 会的
YangJian1994
2018-04-09 10:11:35 +08:00
@arischow RTFM 楼下正解

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/444373

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX