天天看點

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']