![Python王者归来](https://wfqqreader-1252317822.image.myqcloud.com/cover/412/31794412/b_31794412.jpg)
上QQ阅读APP看书,第一时间看更新
6-5 列表的排序
6-5-1 颠倒排序reverse( )
reverse( )可以颠倒排序列表元素,它的使用方式如下:
name_list.reverse( )# 颠倒排序name_list列表元素
其实在6-1-3节的切片应用中,也可以用[::-1]方式取得列表颠倒排序。
程序实例ch6_24.py:使用2种方式执行颠倒排序列表元素。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P73_44049.jpg?sign=1739492251-ViQPOZEX5rrOmDMfgRCrlnqCsi1dKew2-0-32171e57ede760a2421ea3c95e3e3691)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P73_44072.jpg?sign=1739492251-gPAvNkpyb2FX57tB9iwVS7mt17jAVGzY-0-df0f83f150365c5ba10bfd9d4010d424)
列表经颠倒排放后,就算永久性更改了,如果要复原,可以再执行一次reverse( )方法。
6-5-2 sort( )排序
sort( )方法可以对列表元素由小到大排序,这个方法同时对纯数值元素与纯英文字符串元素有非常好的效果。需要注意的是,经排序后原列表的元素顺序会被永久更改。它的使用格式如下:
name_list.sort( )# 由小到大排序name_list列表
如果是排序英文字符串,建议先将字符串英文字符全部改成小写或全部改成大写。
程序实例ch6_25.py:数字与英文字符串元素排序的应用。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P74_44482.jpg?sign=1739492251-b9n8wWZ5feNegoBmRBivF9qBPGlPJct4-0-f6e990859fed752a9f628b0c1dfaf8b1)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P74_44488.jpg?sign=1739492251-k4Hz81PvYNZ86W7mqe6HJWEe5fR9x8Ii-0-8cd98d91ea5c8ea5e76a15c09cd682c3)
上述内容是由小排到大,sort( )方法是允许由大排到小,只要在sort( )内增加参数“reverse=True”即可。
程序实例ch6_26.py:重新设计ch6_25.py,将列表元素由大排到小。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P74_44491.jpg?sign=1739492251-5n5Qer46ToCXyZT0FF94qG6rwbCkOIV9-0-48fbd8f3558088b9a6cae6c123c361bb)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P74_44497.jpg?sign=1739492251-BZkpkgT5pDqs5hRUJjMbF8aUqXk3erPo-0-4981a2509e4a8747fe130dea50a4f107)
6-5-3 sorted( )排序
前一小节的sort( )排序将造成列表元素顺序永久更改,如果你不希望更改列表元素顺序,可以使用另一种排序sorted( ),使用这个排序可以获得想要的排序结果,我们可以用新列表存储新的排序列表,同时原先列表的顺序将不更改。它的使用格式如下:
new_list.sorted(name_list)# 用新列表存储排序,原列表序列不更改
程序实例ch6_27.py:sorted( )排序的应用,这个程序使用car_sorted新列表存储car列表的排序结果,同时使用num_sorted新列表存储num列表的排序结果。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P74_44501.jpg?sign=1739492251-ccTp519x6X6Hay3tnuHs8iAdMyZhXXqc-0-674c09276594250d98d49cfeb97b3c6a)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P74_44507.jpg?sign=1739492251-N5Evz5svIAj7tfcC4BllUtRd7UH8L3bA-0-81ad7b85dd34ebe83ffed56a28df2e73)
如果我们想要从大排到小,可以在sorted( )内增加参数“reverse=True”,可参考下列实例第5和11行。
程序实例ch6_28.py:重新设计ch6_27.py,将列表由大排到小。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P75_44914.jpg?sign=1739492251-oYlXxzIF4YJ2KO5Ovi5rrkUP494zTFJZ-0-e1a96d0d98ad7f861353b955d3619810)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P75_44920.jpg?sign=1739492251-OWgGU9NENVFzXBsP9MeBvBDEp4UEWIM9-0-a304ddf0b1ae35d722ac793e1f33ac74)