盘点Python内置函数sorted()高级用法实战

一、前言

其实这里【瑜亮老师】、【布达佩斯的永恒】等人讲了很多,只不过对于基础不太好的小伙伴们来说,还是有点难的。不过在实际应用中内置函数sorted()用的还是蛮多的,这里也单独拿出来讲一下,希望下次再有小伙伴遇到的时候,可以不慌。

网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、小程序设计、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了奈曼免费建站欢迎大家使用!

二、基础用法

内置函数sorted()可以用来做排序,基础的用法很简单,看个例子,如下所示。

lst = [3, 28, 18, 29, 2, 5, 88]result = sorted(lst)print(result)

程序运行之后,可以看到列表从小到大进行升序排序了。

如果想让它倒序排序的话,也很简单,加个reverse参数即可。

lst = [3, 28, 18, 29, 2, 5, 88]result = sorted(lst, reverse=True)print(result)

三、高级用法

上面我们遇到的列表(迭代器)是很简单的数字类型,如果遇到比较复杂的迭代器,然后需要对其进行排序的话,如下面这个例子,如下:

lst = [ {"id": 1, "name": "鲁班", "age": 18}, {"id": 2, "name": "鲁班大师", "age": 26}, {"id": 3, "name": "鲁大师", "age": 23}, {"id": 4, "name": "狄仁杰", "age": 48}]# 按照年龄,对英雄进行排序,升序

针对类似这样的迭代器或者可迭代的对象,对其进行排序的话,就需要使用自定义的方法对其进行排序了。这个也都可以使用内置函数sorted()来进行,关于sorted()的用法如下所示。

它一共有三个参数,第一个参数是可迭代对象,如列表、字典、集合等等;第二个参数是指排序规则(排序函数),在sorted()内部会将可迭代对象中的每一个元素传递给这个函数的参数,根据函数运行的结果进行排序;第三个参数是reverse,如果是True表示倒序,如果是False则表示正序。

那么针对该题目,可以使用下面的代码进行排序:

sorted(lst, key=lambda x: x.get('age'))

其中这个key就是自己自定义的一个匿名函数,用于指定排序规则,这里的话就是取字典中的age,然后根据age的大小去进行排序,所以得到的结果如下图所示。

如果想取出年龄大于28的英雄,该怎么做?

这里引申了下,也是可以使用内置函数来做,只不过这个地方用到的内置函数是filter()了,代码如下所示:

list(filter(lambda x: x['age'] >= 28, lst))

番外篇

最近又有很多小伙伴们在问Python深浅拷贝的知识点,这里昨天整理了一份资料,这里分享给大家,面试题的时候经常会被问到,共勉。

三、总结

大家好,我是Python进阶者。这篇文章主要分享了Python的内置函数sorted()排序问题,针对该问题给出了具体的解析和代码演示,帮助粉丝顺利解决了问题。

分享文章:盘点Python内置函数sorted()高级用法实战
转载来源:http://www.shufengxianlan.com/qtweb/news26/101126.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联