Python中我想问一下这是为什么?

a = [‘1123dsfd’, ‘fdgt565’, ‘345r’]
b = a.sort()
为什么 b 得到的是 None ?不是很明白。
Python中我想问一下这是为什么?

18 回复

因为 sort 是原地排序,不返回任何东西…… help(a.sort)就知道了


我无法理解你的问题。

按照你的想法,应该写成

b = sorted(a)

a.sort() 是对 a 排序,无返回

骚年要学会查 python 文档啊

其实你写 C 排序的时候就明白了呀。传递一个指针数组过去,直接对那个内存地址进行操作,而不是重新分配地址来操作。这样就不用返回的结果了。

函数式和命令式混用的语言,要小心

a.sort()是个方法,无返回值;
python 在执行无返回值的函数时,默认返回一个 None

同感, 刚开始用的时候真的是各种踩坑。

谢谢,知道了

ok,会的

受教了,谢谢

恩恩,知道了

恩恩,谢谢

RTFM 楼下正解

回到顶部