新闻详情

新闻详情

首页 / 资讯中心 / 详情

Python排序函数用法

发布时间:2026/9/29 10:31:01来源:尧图网络
Python排序函数用法
这篇文章里面的文字还有那些图片都是从各个网站上找来的, 大家拿过去看看学习或者私下聊聊感想就行, 千万别拿去搞什么赚钱的商业活动。要是上面有哪里弄错了, 或者有啥问题, 麻烦赶紧联系我们, 我们会好好解决处理的。排序这个函数, 它是把语言的简洁给完美体现出来了。对于那个叫做List对象的对象来说, 咱们可以直接去调用sort()这个函数, 当然了, 这里要是说是方法是更为合适的。而对于其他的, 比如说像set啊或者是dict啊这种的, 咱们叫它什么可迭代对象, 针对这些对象, 咱们是可以使用更加灵活的, 那个带括号的()函数的。一.List的sort()函数那个叫做源码的文件,它里面的py文件, 这样写出来, sort这个函数的具体定义在下面这里。def sort(self, keyNone, reverseFalse): L.sort(keyNone, reverseFalse) - None -- stable sort *IN PLACE* pass从实际情况来看, sort()函数是没有返回值的, 它包含两个参数。其中, key这个参数是用来指定用于排序的依据的函数的。另一个参数是用来表示是否需要将列表进行反转操作的, 如果不设置的话是默认为False的, 此时的意思就是按照升序排列的方式来进行处理。如果是被设定为True的话, 那么其意义就是指要进行降序排列的操作。关于sort()这个函数的用法, 具体表现如下。L [1, 2, 7, 4, 3]L.sort()print(L)#[1, 2, 3, 4, 7]我们可以往里面添加一些参数来进行查看, 就比如说是降序排序这样的情况。L [1, 2, 7, 4, 3]L.sort(reverseTrue)print(L)#[7, 4, 3, 2, 1]另外拿个具体的情况来说, 就是如果我们希望借助key这个手段去实现将数据按照降序的方式进行排列动作的话, 那么这里是需要运用一下匿名函数这种方式来完成的。L [1, 2, 7, 4, 3]L.sort(keylambda x : x*(-1))print(L)#[7, 4, 3, 2, 1]当然, key 这个词还有好多种别的用法, 我们是可以把它设置成那个已经存在的内置的那个函数, 或者是自己定义的函数, 比如说去用一下那个绝对值函数:L [-1, 2, -7, 4, 3]L.sort(keyabs)print(L)#[-1, 2, 3, 4, -7]还有一种另外的一种对于key的支持方式, 就是通过模块里面的函数, 将传统的cmp函数转为key, 这和函数的用法是类似的, 但是对于比较的逻辑比较复杂的情况, 这样的方式会更清晰更便于维护。from functools import cmp_to_keyL [-1, 2, -7, 4, 3]def cmp(a,b):if abs(a) abs(b):return -1else:return 1L.sort(keycmp_to_key(cmp))print(L)二.()与sort()函数相比, 这个函数要通用得多。因为sort()函数仅仅能够对列表进行排序。对于此函数的详细解释, 可以在官方文档中查到。sorted(iterable, *, keyNone, reverseFalse)Return a new sorted list from the items in iterable.这个方法的返回值是List类型。参数列表表示的是一个可迭代对象。星号表示位置参数就此结束。后面的参数都必须使用关键字来指定。key参数与之前参数用法和sort()方法完全一致。具体的使用方法, 展示如下所示:L [1, 2, 7, 4, 3]L1 sorted(L)print(L1)#[1, 2, 3, 4, 7]至于与关键的排序用法, 此处就不再做单独的示例展示, 大家可以去参考sort(()函数的具体用法。假如我们当前想要实施排序操作的主体数据是一个集合格式的数据, 那么其具体的使用步骤与方法同列表数据排序时的操作要求保持高度一致。S {1, 2, 7, 4, 3}S1 sorted(S)print(S1)#[1, 2, 3, 4, 7]请大家一定要注意到, 这个用来进行排序的目标对象是set类型数据, 而最终的返回结果却是一个list类型数据, 这是因为set类型的本身上面压根就不存在所谓的排序概念。那么, 如果咱们想要去实现一个相对要复杂一些点的排序功能该怎么办呢?比如要对字典这样的数据进行排序, 此时我们规定的排序依据是来自于键名方面, 而得出的最终排序结果则是从由键名和具体数值共同组成的键值对这个集合所构成的列表里面挑选出来的形式展现的。Dict {a:2, b:3, c:7, d:4, e:1}L sorted(Dict.items(), keylambda x : x[1])print(L)#[(e, 1), (a, 2), (b, 3), (d, 4), (c, 7)]最后给出一个叫做上题的题目, 它的题目内容是关于根据字符出现的频率来进行排序的, 具体如下:给定一个字符串请将字符串里的字符按照出现的频率降序排列。输入:tree输出:eert解释:e出现两次r和t都只出现一次。因此e必须出现在r和t之前。此外eetr也是一个有效的答案。通过使用函数, 代码就变得非常清晰且易于阅读了:def frequencySort(s):d {}for i in s:d[i] d.get(i,0) 1L sorted(d.keys(), keylambda x: d[x], reverseTrue)s for i in L:s i * d[i]return s需要注意的一个要点在于, 这里提到的d.keys()所生成的结果, 实际上是一个由各个key构成的可迭代对象, 与此同时, 在前面那段代码当中所使用的Dict.items(), 它生成的是另一个由键值对对象组成的可迭代对象, 而这个所谓的键值对对象, 具体而言是指一个Tuple对象。您只需要给相关的负责人私下发送一条包含数字01的消息, 这样你就可以拿到非常非常多的学习资源。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

nim_duilib的全局样式 2026/9/29 11:35:08

nim_duilib的全局样式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
阿里巴巴职位分析:阿里云智能-AI销售专家 2026/9/29 11:35:08

阿里巴巴职位分析:阿里云智能-AI销售专家

1. 职位概览 阿里巴巴集团旗下阿里云智能正在招聘「AI 销售专家」岗位。该职位聚焦于将阿里云的人工智能产品与解决方案推向市场,帮助客户完成数字化转型与智能化升级。作为 AI 销售专家,不仅需要具备扎实的云计算与 AI 技术理解力,还需要出色的商业洞察与客户沟通能力。 …

阅读更多 →
AlphaControls v17.10 在 Delphi 12.3 下的安装配置与避坑指南 2026/9/29 11:35:01

AlphaControls v17.10 在 Delphi 12.3 下的安装配置与避坑指南

简介:AlphaControls v17.10 Stable 是面向 Delphi 与 CBuilder 开发者的经典界面控件套件,适用于 Delphi 5 至 12 Athens 及对应 CBuilder 版本,帮助开发者快速构建皮肤化、现代化的 Windows 桌面应用界面,解决原生 VCL 控件外观陈…

阅读更多 →
TypeScript 函数完全指南:类型、参数、this 与重载实战 2026/9/29 11:34:55

TypeScript 函数完全指南:类型、参数、this 与重载实战

文档教程 【免费下载链接】TypeScript TypeScript 使用手册(中文版)翻译。http://www.typescriptlang.org 项目地址: https://gitcode.com/gh_mirrors/typ/TypeScript 点击查看 免费下载 本篇指南以 TypeScript 官方手册(中文版&…

阅读更多 →
老电脑指南:可以装Win7系统CPU盘点 2026/9/29 11:34:48

老电脑指南:可以装Win7系统CPU盘点

ㅤㅤ尽管Windows 7系统官方已停止支持多年,但鉴于目前还有很多工控软件对高版本系统的兼容性、以及特定办公需求和用户的操作习惯,Win7系统直至目前依然具有不可替代的使用价值。然而,随着硬件架构的快速迭代,新款处理器与Windows…

阅读更多 →
Adobe Dreamweaver 完整安装步骤_保姆级 2026/9/29 11:34:48

Adobe Dreamweaver 完整安装步骤_保姆级

纯自用分享,勿作他用 安装资源 迅雷资源:迅雷资源链接 安装步骤 2.1鼠标右键解压到“Dreamweaver 2021” 2.2双击打开【Setup】文件夹 2.3 找到并选中Set-up,鼠标右键点击“以管理员身份运行” 2.4 选择软件安装路径,点击“继…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉