Python自动化办公实战课
尹会生
前游戏公司技术总监,前新浪网研发中心技术经理
立即订阅
2006 人已学习
课程目录
已更新 16 讲 / 共 33 讲
0/4登录后,你可以任选4讲全文学习。
课前必读 (2讲)
开篇词 | 重复工作这么多,怎样才能提高工作效率?
免费
导读|入门Python的必备知识
“输入”模块:不同文件类型的批量合并和拆分问题 (3讲)
01 | 拆分与合并:如何快速地批量处理内容相似的Excel?
02|善用Python扩展库:如何批量合并多个文档?
03|图片转文字:如何提高识别准确率?
春节特别放送 (3讲)
春节特别放送1|实体水果店转线上销售的数据统计问题
春节特别放送2|用自顶至底的思路解决数据统计问题
春节特别放送3|揭晓项目作业的答案
“运算”模块:扩展常用的统计、搜索和排序功能 (8讲)
04 | 函数与字典:如何实现多次替换
05 | 图像处理库:如何实现长图拼接?
06 | jieba分词:如何基于感情色彩进行单词数量统计?
07|快速读写文件:如何实现跨文件的字数统计?
08|正则表达式:如何提高搜索内容的精确度?
09|扩展搜索:如何快速找到想要的文件?
10|按指定顺序给词语排序,提高查找效率
11 |通过程序并行计算,避免CPU资源浪费
Python自动化办公实战课
15
15
1.0x
00:00/00:00
登录|注册

10|按指定顺序给词语排序,提高查找效率

尹会生 2021-03-04
你好,我是尹会生。
之前我在游戏行业工作的时候,经常需要取得用户在线时长 TOP3、用户战斗力 TOP5、用户完成任务数量 TOP10 等数据,相信你在工作中也会有遇到从大量数据取得 TopN 这类需求。
提取 TopN 的操作,本质上是对大量数据先进行排序,然后根据排序的结果取出前 N 个值。而实现提取 TopN 的值,用 Python 来实现会非常高效,这节课,我就来讲一讲具体怎么操作。

使用 sorted() 函数实现排序

在 Python 中,已经内置了排序函数 sorted() 函数,它是 Python 中实现排序最简单且最直接的形式,可以解决 80% 的排序问题。那么,我们就来学习一下怎么用 sorted() 函数对常见的数据类型进行排序。
先看 sorted() 函数的定义。
sorted(iterable, cmp=None, key=None, reverse=False)
sorted 函数共有四个参数,第一个参数是要排序的对象,后面三个参数是排序的方式。
如果要为某个对象排序的话,你可以直接将它作为 sorted() 函数的第一个参数,返回结果会将对象的值进行从小到大的排序。
如果 sorted() 返回的排序结果不满足你的需要,比如你想要从大到小的排序,那你就可以利用后面三个参数来改变排序的方式,实现自定义排序。
所以今天这节课,我会带你学习怎么使用 sorted() 函数实现默认排序和自定义排序,来解决你实际工作中遇到的多种排序问题。我们先来看怎么使用 sorted() 实现默认排序。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Python自动化办公实战课》,如需阅读全部文章,
请订阅文章所属专栏
立即订阅
登录 后留言

精选留言(1)

  • Soul of the Dragon
    关于思考题,我猜可以是照顾到用户的实际需求吧,并不是什么情况下都需要对数据进行排序的,只要能实现排序的功能,用户可以自行对数据进行排序。

    作者回复: 照顾到用户的实际需求是一方面,这方面你的理解是对的;还有一方面要考虑排序对计算机资源的开销,随着数据增加,排序的时间开销也会有相应增加(增加多少要根据具体算法和数据长度评估排序时间复杂度),所以在不需要排序时,我们还是需要一些能替我们存储数据,但是不需要自动排序的数据类型的

    2021-03-04
收起评论
1
返回
顶部