list.sort结果是None

 错误原因:

 list.sort()功能是针对列表自己内部进行排序, 不会有返回值, 因此返回为None。

 举例说明:

In [19]: a=["a","c","b"]                                                                                                                      

In [20]: b = a.sort()                                                                                                                         

In [21]: print(b)                                                                                                                             
None

如果想得到排序后的结果就不要使用 b = a.sort(),而是直接用a.sort()方法,然后再打印a就会发现a列表内的元素已经改变原来排序顺序了

 

其它:

如果不想改变a列表内部的元素顺序,可以使用sorted(list_name)函数,它会返回一个经过排序的列表,而不改变原来列表内元素的排序

举例说明:

In [24]: a =["a","c","b"]                                                                                                                     
In [26]: b = sorted(a) In [27]: a Out[27]: ['a', 'c', 'b'] In [28]: b Out[28]: ['a', 'b', 'c']

 

posted @ 2019-06-19 16:38  wangju003  阅读(2291)  评论(0编辑  收藏  举报