![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=1739619951-nYCflTMPMKmVnop1CAPOg6W07R1gRNXz-0-bf29af66f55c8eb614a93111a1e70ddb)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P73_44072.jpg?sign=1739619951-4LuawAK8ezk6j2RrWswztxI3vUq5IsyE-0-1c791ff79e061d6a473ce7702113fe28)
列表经颠倒排放后,就算永久性更改了,如果要复原,可以再执行一次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=1739619951-dcZ3Ci02EYG8ppLunKxWSppCf4xLUMj4-0-03df7019cca85f5ed415793d2895fa3c)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P74_44488.jpg?sign=1739619951-RlhKn3MZt466hU5cpsbmWqDAsqwgCqlX-0-854a087b4ca68a9371b96dce5b78ab3a)
上述内容是由小排到大,sort( )方法是允许由大排到小,只要在sort( )内增加参数“reverse=True”即可。
程序实例ch6_26.py:重新设计ch6_25.py,将列表元素由大排到小。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P74_44491.jpg?sign=1739619951-BcxA9CeO0GNorbDfc9PbdJqil1EZlBXd-0-1a9ade21bcf5fdbab43ef7836d019277)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P74_44497.jpg?sign=1739619951-7k3CMldWPR8Zcus4bLalpQke0vmyZOLQ-0-04a7f804a715f079a05cbcf1cf586e21)
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=1739619951-kb7h6hBZo3yHUsllobs3x33iTdtDzph3-0-1da2d067f2df887106b729efd47a22a1)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P74_44507.jpg?sign=1739619951-6XLC2nTlbjfwXwVMSvQQeGKRptajEx45-0-aa9be5c04dce3bef6aa2e0f75968c5ab)
如果我们想要从大排到小,可以在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=1739619951-XBxXCijtZEDrlJcBL2fxgSicH2R5e4Bx-0-ad05bad68a60bc4d80f2a85869d99e2e)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P75_44920.jpg?sign=1739619951-XE4s7YHflJwUUNADqyz4zc9HvVQshvAg-0-1436e2249d834baee1ba620592e5f722)