Python函数中的战斗机sorted
在我们日常开发工作中,对数据的分类,汇总和排序是一个非常常用的操作,python给我们提供了一个强大的内置函数sorted,号称内置函数中战斗机。使用它可以很好的帮我们应对上述几种场合。下面勇哥通过实例一步一步的带大家揭开它的神秘面纱。
1、 对列表中的数字进行排序
Sorted不指定reverse,则默认按从小到大排序。
2、 对字符串中的字符进行排序
注意:如果字符串中包含有汉字,则是按照该汉字的unicode码值进行排序。
3、 对嵌套列表进行排序
下图中的列表是一个嵌套了3个元素的列表,每个子列表分别b包含了学生的姓名,数学成绩和语文成绩,如果我期望对按数学成绩排序那?如果我直接这行排序如下图所示:
发现打印的结果并没有达到我的要求,那是因为在排序的过程中,由于每个子列表是一个复合元素,它不知道按那一个标准进行排序。
也就是说如果要成功的实现排序,你必须告诉它是按复合元素中那个值来作为排序的依据。
那么通过给sorted函数中指定了一个排序依据,就成功了实现了按数学成绩排序的结果。
匿名函数
排序依据参数
sorted(mylst,key=lambda x:x[1])
返回每个子列表中的第二值
X代表集合中元素
有的人可能对匿名函数不太了解,可以关注我们后面的课程,这里我给大家换一种写法,用普通函数来实现。
如果需要按人名的长度进行排序该如何改进我的程序?
4、 对字典中的元素进行排序
通过以上举例,大家是不是认识到sorted的强大之处,用好它,可以给我们的设计工作带来很多便利。