城市直播房产教育博客汽车
投稿投诉
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

Python复杂排序闯5关,你能闯到第几关?

9月21日 不将就投稿
  前言
  python中对集合执行排序是非常简单。
  那希望按文本长度排序,把长的文本排到后面,如何做到?
  元素是复杂的结构,比如字典。如何按分数降序排序?
  需要同时对多个字段排序呢?
  对多个字段,应用不同的升降序排序呢?
  最后,怎么定义出类似pandas的排序函数?
  今天我将带大家闯过这些关卡,当然也会讲解其中的关键技巧。超级干货,一键三连再观看
  视频版本在这里第一关,普通元素排序。
  这里主要为了简单了解sorted函数的使用。
  第一个参数指定排序的集合
  参数reverse可以指定是否降序第二关,把文本较长的放在后面
  通过参数key,可以指定排序规则。
  这里指定函数len,就可以做到按文本长度排序。
  为了帮助大家理解它的过程,我把数据变成表格。
  行3:设置sorted函数的参数key,相当于为表格添加辅助列,计算出名字的长度值。
  行4:对key列排序
  最后取出名字列
  后面,我们会看到使用自定义函数指定更复杂的规则第三关,复杂结构排序
  当python无法确定元素的排序规则时,就需要设置参数key。
  这个例子中,需要从每个字典中取出分数,
  设置参数key为一个简单的lambda表达式。
  表达式中的x,就是列表中的每个字典。
  设置参数reverse指定为降序第四关,多列排序
  这里需要同时对分数和年龄进行降序排序。
  同样,需要设置参数key,但lambda表达式中到底要返回什么呢?
  此时,我们可以利用元组的特性,每个元组比较的时候,都会从左到右顺序比较。
  可以看到结果中的这两行,同样的分数,年龄高的被排到前面第五关,多列,不同升降序
  这一关最难了。
  这里与前一关唯一不同的是,当分数相同时,需要把年龄小的排到前面。但是我们无法使用上一关的代码做到。这是因为元组的比较规则是固定的。
  要解决这个问题,我们需要简单了解python稳定排序的意思。
  首先,只对分数进行排序。
  现在只看这两行记录。可以看到,不管是升序还是降序排序,排序规则中的值,如果无法分出高低时,那么python会确保这两笔记录,仍然保持原来的前后顺序。
  这就是稳定排序的意义所在。
  利用稳定排序的特性,我们可以把规则反方向执行。
  首先,只对年龄执行升序排序。
  注意分数相同的2笔记录,他们现在的前后次序是符合要求的。
  行13:对结果再次按分数降序排序。
  由于排序稳定性,年龄小的记录不会因为这次排序,改变它的位置。
  因此,当需要多列应用不同的升降序规则时,要反方向划分多个步骤执行
  这也太麻烦了。熟悉pandas的小伙伴,一定会选择利用表格排序做到要求。可以看到通过一个参数ascending,指定多个不同升降序。多方便呀
  其实,我们也可以用自定义函数做到。
  使用的时候很简单:
  这里的参数key之所以要求使用itemgetter函数,是为了可以兼容其他对象的排序。以后有机会再展开讲解这方面的应用吧。
  私信python,获取源码。你的点赞是我写作的动力,记得一键三连
  推荐阅读Python进阶系列:Python遍历的秘密Python进阶系列:细讲Python推导式Python重要知识,生成器的威力每日一点,带你入门Python星号拆包
投诉 评论

02!92分钟绝杀皇马塞维利亚大战神剧情改写西甲争冠格局北京时间4月18日凌晨3点,西甲联赛第32轮第一场焦点战,在塞维利亚和皇家马德里之间上演。上周末的联赛,已经没有欧战任务的塞维利亚主场42战胜格拉那达,拿下了最近5轮联赛……华为火力全开,十大军团向芯而行,麒麟芯片即将涅槃重生对于大洋彼岸的某强国来说,华为的坚强更让人恐惧,一年、两年、三年,试问有多少科技巨头能像华为一样,在面对时间的流逝和规则的变化,还能保持毅然决然向前的姿态。最重要的是华为……连夜关停300家公司,套现500亿,千亿港商刘銮雄举家迁往英香港的众多富商之中,刘銮雄不是最有钱的,但绝对是最有故事的。他是有名的花边新闻创造者,是地产泡妞大法的创始人,同时也是有名的股市狙击手。如今已经71岁的刘銮雄却屡屡被传出……ELLE全年没闲着,从顶流到影后通通都来给我拍封面!作为五大刊之一,《EllE》的地位一直无人撼动,作为封面达人,ELLE选择艺人拍摄封面也非常讲究。今年,《ELLE》集齐顶流、超模、影后、视后等多位明星,一起打造《ELLE》封……Python复杂排序闯5关,你能闯到第几关?前言python中对集合执行排序是非常简单。那希望按文本长度排序,把长的文本排到后面,如何做到?元素是复杂的结构,比如字典。如何按分数降序排序?需要同时……乒乓球大满贯什么意思原本是指获得过奥运会、世乒赛、世界杯三大赛单打冠军运动员的荣誉称号,现在是指获得过国际乒联WTT四大满贯单打冠军、奥运会单打冠军、世锦赛单打冠军的运动员的荣誉称号。马龙……再强调一次丝袜不要配运动鞋,太土!今年流行这样穿,气质高级秋日生活打卡季好的心态是女人美丽的根基,保持好的心态,不要放弃打扮自己,你整个人的气质都会变得更好,而且穿衣搭配是最容易变美的一种方式,对于搭配小白或者是身材不好的普通女……广东队最新消息全队赛后做检讨,胡明轩被骂上热搜,徐杰无大碍被浙江男篮绝杀,全队赛后做出检讨。北京时间10月31日,CBA第一阶段比赛圆满的落下帷幕,各支球队进入到为期一个月的休整期,广东男篮昨晚迎来收关大战,迎来浙江男篮挑战,此……四川8大名菜有哪些?你吃过几种?不愧是八大菜系中的百姓菜暖冬生活记中国的饮食文化源远流长,可以从时代与技法,地域与经济,食品与食具,民俗与功能等多个角度进行分类,目前来说,最受大家认可的就是八大菜系。八大菜系涵盖了我们古……2022年安徽文旅产品和项目推介会走进长沙华声在线11月22日讯(记者刘思佳)美好安徽,迎客天下。11月22日,2022年安徽文旅产品和项目推介会在长沙举行。现场推介了安徽文化旅游产品、文旅招商项目;安徽各市领导通过视……世界杯第一冷门!6。33亿豪阵崩盘,5分钟内连丢2球,48年世界杯今晚迎来一场焦点战,作为夺冠大热门之一的阿根廷也是兵强马壮,此前他们已经是3年时间,36场比赛保持不败,今天面对亚洲排名第51位的沙特队,这场比赛阿根廷也是志在必得,第5……和有趣的你,艺起寻趣前海!读特客户端深圳新闻网2022年12月21日讯(记者杨维易文刘鸣图)一边是高耸的摩天大楼,一边是蔚蓝的海滨公园,这里是深圳前海。在风景和繁华之间,自有让人流连忘返的乐趣。1……
京城雪场推荐在香槟泡沫般的雪道上感受肾上腺素的飙升吧蜂蜜为什么不会变质?阳春三月,多吃这5道黄金菜,鲜美营养高,应季而食,舒服过春天雪容融的扮演者李雨轩汗水里演绎可爱的雪容融形象2022时尚个性的男孩名字北京冬奥会最孤独身影,14亿人只有一人参赛,贯彻印度的种族歧请脱下你的阔腿裤太土!今年流行的是云朵裤,优雅有气质梦想中最省钱的自驾游厢货装房车中国高颜值冰坛组合关系揭秘!王诗玥他高大帅气,害我难找对象张艺谋终于发声了,网友纷纷感慨,这么大的盛典没有你怎么办啊?大胆预测美国半导体产业,在未来20年会整体垮掉光进入介质后为何会减速经销商合同春联教学设计六责任名言肩负责任的名言狗闹狗有什么表现狗狗发情最佳配种时间是第几天我们能吃得最健康的食物是什么?个治疗方个营养方有助产后恶露排出防止新生儿肺炎恶化要采取哪些措施巴塔哥尼亚龙:南美巨型恐龙(长20米生于1。69亿年前)在跌倒中成长杨紫和迪丽热巴新生代的佼佼者,颜值差很多吗?落地雷能劈死人吗儿子的读后感!

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找