Python教程:[66]sorted()排序详解
使用python对列表(list)进行排序,说简单也简单,说复杂也复杂,我一开始学的时候也搞不懂在说什么,只能搜索一些英文文章看看讲解,现在积累了一些经验,写在这里跟大家分享,我们通过例子来详细解释一下函数sorted的具体用法:
先创建一个列表a
![Python教程:[66]sorted()排序详解](https://exp-picture.cdn.bcebos.com/2a1ecb460596b814a45097b743d246fe464e22d4.jpg)
直接使用sorted方法,返回一个列表b,b就是排序好了的
![Python教程:[66]sorted()排序详解](https://exp-picture.cdn.bcebos.com/460fdc8333bf3bef6dcf720c3f3ea8db564a1ad4.jpg)
假如a是一个由元组构成的列表,这时候就麻烦了。
![Python教程:[66]sorted()排序详解](https://exp-picture.cdn.bcebos.com/a99a494afa32939c7377fd065719ce2c5a1b15d4.jpg)
我们需要用到参数key,也就是关键词,看下面这句命令,lambda是一个隐函数,是固定写法,不要写成别的单词;a_tuple表示列表中的一个元素,在这里,表示一个元组,a_tuple只是临时起的一个名字,你可以使用任意的名字;a_tuple[0]表示元组里的第一个元素,当然第二个元素就是a_tuple[1];所以这句命令的意思就是按照列表中元组里的第一个元素进行排序。
![Python教程:[66]sorted()排序详解](https://exp-picture.cdn.bcebos.com/dd58d02c5b1b1ede915c828d981fceecd2d90fd4.jpg)
按照元组里的第二个元素排序
![Python教程:[66]sorted()排序详解](https://exp-picture.cdn.bcebos.com/d2987775f2c4ec9934c326b5c3fe1e425c6b07d4.jpg)
除了key参数可以实现这个功能外,还可以使用cmp参数,注意看,这里不同之处是使用了x和y两个元组,他俩都是临时起的名字,你可以任意更改,我们用x表示列表里第一个元素,y表示列表里第二个元素,x[1]表示第一个元组的第二个元素,同理y[1]也是,而cmp()就是比较函数,也就是说,比较x[1]和y[1]的大小。
![Python教程:[66]sorted()排序详解](https://exp-picture.cdn.bcebos.com/5c2a1ad149299a884c93ca5167eeadbcbf2f7fd4.jpg)
我们还可以使用reverse参数实现倒序排列
![Python教程:[66]sorted()排序详解](https://exp-picture.cdn.bcebos.com/46315818dfdae43b45062095c457935652bb74d4.jpg)
如果你现在还不能理解,先记住他们的固定写法,写多了自然就懂了。
下一篇文章讲更加深入的一个排序方法,在写法上更见简单,请看传送门:http://jingyan.baidu.com/article/f3ad7d0ffe8e1409c2345b48.html
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:194
阅读量:64
阅读量:95
阅读量:142
阅读量:54