Python王者归来
上QQ阅读APP看书,第一时间看更新

6-5 列表的排序

6-5-1 颠倒排序reverse( )

reverse( )可以颠倒排序列表元素,它的使用方式如下:

     name_list.reverse( )# 颠倒排序name_list列表元素

其实在6-1-3节的切片应用中,也可以用[::-1]方式取得列表颠倒排序。

程序实例ch6_24.py:使用2种方式执行颠倒排序列表元素。

执行结果

列表经颠倒排放后,就算永久性更改了,如果要复原,可以再执行一次reverse( )方法。

6-5-2 sort( )排序

sort( )方法可以对列表元素由小到大排序,这个方法同时对纯数值元素与纯英文字符串元素有非常好的效果。需要注意的是,经排序后原列表的元素顺序会被永久更改。它的使用格式如下:

     name_list.sort( )# 由小到大排序name_list列表

如果是排序英文字符串,建议先将字符串英文字符全部改成小写或全部改成大写。

程序实例ch6_25.py:数字与英文字符串元素排序的应用。

执行结果

上述内容是由小排到大,sort( )方法是允许由大排到小,只要在sort( )内增加参数“reverse=True”即可。

程序实例ch6_26.py:重新设计ch6_25.py,将列表元素由大排到小。

执行结果

6-5-3 sorted( )排序

前一小节的sort( )排序将造成列表元素顺序永久更改,如果你不希望更改列表元素顺序,可以使用另一种排序sorted( ),使用这个排序可以获得想要的排序结果,我们可以用新列表存储新的排序列表,同时原先列表的顺序将不更改。它的使用格式如下:

     new_list.sorted(name_list)# 用新列表存储排序,原列表序列不更改

程序实例ch6_27.py:sorted( )排序的应用,这个程序使用car_sorted新列表存储car列表的排序结果,同时使用num_sorted新列表存储num列表的排序结果。

执行结果

如果我们想要从大排到小,可以在sorted( )内增加参数“reverse=True”,可参考下列实例第5和11行。

程序实例ch6_28.py:重新设计ch6_27.py,将列表由大排到小。

执行结果