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

一、盘点前言

前几天在Python钻石交流群有个叫【emerson】的内置粉丝问了一个Python排序的问题,这里拿出来给大家分享下,函数一起学习下。高级

其实这里【瑜亮老师】、用法【布达佩斯的实战永恒】等人讲了很多,只不过对于基础不太好的盘点小伙伴们来说,还是内置有点难的。不过在实际应用中内置函数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()排序问题,针对该问题给出了具体的解析和代码演示,帮助粉丝顺利解决了问题。

IT科技类资讯
上一篇:4.域名的整体品牌营销力
下一篇:公司和个人选域名方法一样吗?有什么不同?