如下所示,为啥我使用列表(list)对象的内置方法sort进行排序后,返回结果为None,而并非是排序好的列表呢?
>>> my_list = [ 1, 9, 9, 0 ] >>> sorted_list = my_list.sort() >>> print sorted_list None
jerkzhang
哈哈,因为你弄错了,使用该列表对象的sort方法,该对象就已经排序好了,你排序好的列表对象就是原始列表对象,即my_list这个变量。这个小错误,很多初学者都会犯的;正确的方法如下所示:
>>> my_list = [ 1, 9, 9, 0 ] >>> my_list.sort() >>> print my_list [0, 1, 9, 9]
如果真要想既保存原始列表,又获得排序后的列表结果;那就使用python的内置函数sorted即可。
>>> my_list = [ 1, 9, 9, 0 ] >>> sorted_list = sorted( my_list ) >>> sorted_list [0, 1, 9, 9] >>> my_list [1, 9, 9, 0]