![Python入门很简单](https://wfqqreader-1252317822.image.myqcloud.com/cover/196/31476196/b_31476196.jpg)
上QQ阅读APP看书,第一时间看更新
6-5 列表的排序
6-5-1 颠倒排序reverse()
reverse()可以颠倒排序列表元素,它的使用方式如下。
name_list.reverse() #颠倒排序name_list列表元素
其实在6-1-3节的切片应用中,也可以用[::-1]方式让列表颠倒排序。
程序实例ch6_24.py:使用两种方式执行颠倒排序列表元素。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1256.jpg?sign=1739263292-Kp7xalYw8gEAAli0RS25ZaPV3lTLycqA-0-aa2b2db8b2a36871d0e88c5f2197a324)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1257.jpg?sign=1739263292-V4ngmlbz2J5sJSRRIUuHX7oo78LsB0eo-0-9fdb682bb81e0dc9c6149064c740e90b)
列表经颠倒排放后,就算永久性更改了,如果要复原,可以再执行一次reverse()方法。
6-5-2 sort()排序
sort()方法可以对列表元素由小到大排序,这个方法可以同时对纯数值元素与纯英文字符串元素有非常好的效果。要留意的是,经排序后原列表的元素顺序会被永久更改。它的使用格式如下。
name_list.sort() #由小到大排序name_list列表
如果是排序英文字符串,建议先将字符串英文字符全部改成小写或全部改成大写。
程序实例ch6_25.py:数字与英文字符串元素排序的应用。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1258.jpg?sign=1739263292-mUjmaanKD8TbIa75jOVh8WbsXSUgbBmX-0-81986a746ae4842b2816cb69b0caa8f0)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1259.jpg?sign=1739263292-ecExKdTml2iuYNz9ozMdbYhSbRwtINcm-0-c3a0997ef5185a4a8d767b04bcffe7fa)
上述内容是由小排到大,sort()方法是允许由大排到小,只要在sort()内增加参数“reverse=True”即可。
程序实例ch6_26.py:重新设计ch6_25.py,将列表元素由大排到小。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1260.jpg?sign=1739263292-V9MnFhQcVRiZ9ad1L4Y764B8hBPLnRSl-0-9210228e8d88f5d090f7cd42ac190433)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1261.jpg?sign=1739263292-NmpMS5GXgxTGeu0RIqcKtjx3gtB2B9le-0-30604e5acdce77811cd22e85f1eb9ff5)
6-5-3 sorted()排序
6-5-2节的sort()排序将造成列表元素顺序永久更改,如果不希望更改列表元素顺序,可以使用另一种排序sorted(),使用这个排序可以获得想要的排序结果,我们可以用新列表存储新的排序列表,同时原先列表的顺序将不更改。它的使用格式如下。
new_list=sorted(name_list) #用新列表存储排序,原列表序列不更改
程序实例ch6_27.py:sorted()排序的应用,这个程序使用car_sorted新列表存储car列表的排序结果,同时使用num_sorted新列表存储num列表的排序结果。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1262.jpg?sign=1739263292-HPy4AxlyPD3p9iSbDJjm9sLNBllkIqXJ-0-e00e7af895e4bf46b409024adea341ac)
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1263.jpg?sign=1739263292-V7gG8OQstXl8kPMJ5w9imaAFFzwr6z62-0-289d979355f53cb3ebe2961d526b7336)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1264.jpg?sign=1739263292-CQA858uQ4BXa06AuD2KmJQkDdlkcfzKs-0-f84d30a140bc6fc76e0692e1dcbc263f)
如果想要从大排到小,可以在sorted()内增加参数“reverse=True”,可参考下列实例第5和11行。
程序实例ch6_28.py:重新设计ch6_27.py,将列表元素由大排到小。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1265.jpg?sign=1739263292-iHKbqTsYh5lACXQ69LeMxfJBsu8UnMgS-0-beb3b5c5315339555b30bfc3daa3c0ef)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1266.jpg?sign=1739263292-yHsKQ3OgCD2v6wnO6DsX1Yn9RIl3bYS5-0-9dfb138ad46c4c7c3dc89884c95a4d9f)