对于一个序列,Python提供内置函数Sorted进行排序。
1, 函数原型:
sorted(iterable, cmp=None, key=None, reverse=False)
参数:
iterable:需要进行排序的序列(list,tuple, set, map, string)等。
cmp:比较函数,一般为回调函数,默认的话,基础类型按值比较,对象成员按照地址比较,返回值 0: 两个数相等,1:第一个数大于第二个数,-1:第一个数小于第二个数。
key:用于比较的字段,一般为回调函数, 对于复杂的序列,设置用于比较的字段,返回值为比较的字段值。
reverse:是否翻转,默认为从小到大的程序,如果设置成True,则排序为从大到小。
返回值:
返回排序后的一个新的列表(list),不管排序的是何种序列,返回的都将是一个list。
2,示例:
l = [2, 1, 3] t = (2, 1, 3) s = {2, 1, 3} m = {2: 'a', 1: 'b', 3: 'c'} s1 = '213' # 操作 # 输出 print sorted(l) # [1, 2, 3] 等价 l.sort print sorted(t) # [1, 2, 3] print sorted(s) # [1, 2, 3] print sorted(s1) # ['1', '2', '3'] print sorted(m) # [1, 2, 3] # 从大到小排序 print sorted(l, reverse=True) # [3, 2, 1] # 自定义排序算法 l = [(3, 2, 1), (1, 2, 3), (2, 3, 1)] # 用第1个元素的第二个值和第二个元素的第一个值进行比较 def my_cmp(k1, k2): return 0 if k1[1] == k2[0] else 1 if k1[1] > k2[0] else -1 print sorted(l, cmp=my_cmp) # [(1, 2, 3), (3, 2, 1), (2, 3, 1)] # 用元素中最后一个值进行排序 print sorted(l, key=lambda x: x[2]) # [(3, 2, 1), (2, 3, 1), (1, 2, 3)] # 用元素前两个值得和进行比较 print sorted(l, key=lambda x: x[0] + x[1]) # [(1, 2, 3), (3, 2, 1), (2, 3, 1)]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?