python实现sorted函数_Python sorted函数及用法

python实现sorted函数_Python sorted函数及用法sorted 作为 Python 内置函数之一 其功能是对序列 列表 元组 字典 集合 还包括字符串 进行排序 sorted 函数的基本语法格式如下 list sorted iterable key None reverse False 其中 iterable 表示指定的序列 key 参数可以自定义排序规则 reverse 参数指定以升序 False 默认 还是降序 True 进行

sorted() 作为 Python 内置函数之一,其功能是对序列(列表、元组、字典、集合、还包括字符串)进行排序。

sorted() 函数的基本语法格式如下:

list = sorted(iterable, key=None, reverse=False)

其中,iterable 表示指定的序列,key 参数可以自定义排序规则;reverse 参数指定以升序(False,默认)还是降序(True)进行排序。sorted() 函数会返回一个排好序的列表。

注意,key 参数和 reverse 参数是可选参数,即可以使用,也可以忽略。

下面程序演示了 sorted() 函数的基本用法:

#对列表进行排序

a = [5,3,4,2,1]print(sorted(a))#对元组进行排序

a = (5,4,3,1,2)print(sorted(a))#字典默认按照key进行排序

a = {4:1,\5:2,\3:3,\2:6,\1:8}print(sorted(a.items()))#对集合进行排序

a = {1,5,3,2,4}print(sorted(a))#对字符串进行排序

a = “51423”

print(sorted(a))

程序执行结果为:

[1, 2, 3, 4, 5]

[1, 2, 3, 4, 5]

[(1, 8), (2, 6), (3, 3), (4, 1), (5, 2)]

[1, 2, 3, 4, 5]

[‘1’, ‘2’, ‘3’, ‘4’, ‘5’]

再次强调,使用 sorted() 函数对序列进行排序, 并不会在原序列的基础进行修改,而是会重新生成一个排好序的列表。例如:

#对列表进行排序

a = [5,3,4,2,1]print(sorted(a))#再次输出原来的列表 a

print(a)

程序执行结果为:

[1, 2, 3, 4, 5]

[5, 3, 4, 2, 1]

显然,sorted() 函数不会改变所传入的序列,而是返回一个新的、排序好的列表。

除此之外,sorted()函数默认对序列中元素进行升序排序,通过手动将其 reverse 参数值改为 True,可实现降序排序。例如:

#对列表进行排序

a = [5,3,4,2,1]print(sorted(a,reverse=True))

程序执行结果为:

[5, 4, 3, 2, 1]

另外在调用 sorted() 函数时,还可传入一个 key 参数,它可以接受一个函数,该函数的功能是指定 sorted() 函数按照什么标准进行排序。例如:

chars=[‘hello,net’,\’hello,python/’,\’hello,shell/’,\’hello,java/’]#默认排序

print(sorted(chars))#自定义按照字符串长度排序

print(sorted(chars,key=lambda x:len(x)))

程序执行结果为:

‘hello,net’,

‘hello,python/’,

‘hello,shell/’,

‘hello,java/”hello,net’,

‘hello,java/’

‘hello,shell/’,’hello,python/’,

此程序中,使用了 lambda 表示式,其用法会在后续章节进行详细介绍。

结尾福利

本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220503.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午8:20
下一篇 2026年3月17日 下午8:20


相关推荐

  • 三款免费好用的Gif录屏神器

    1.免费开源的GIF录制工具ScreenToGif官网地址:http://www.screentogif.com/ScreenToGif,国外免费开源小巧实用的Gif动画录制工具!使用ScreenToGif,可以将屏幕任何区域及操作过程录制成GIF格式的动画图像,保存过程还可以对GIF动画进行编辑优化。这款非常优秀的工具原生单执行文件,界面非常简单,功能很实用,它具有录制屏幕、录制摄像…

    2022年4月5日
    203
  • Maven报错:The packaging for this project did not assign a file to the build artifact[通俗易懂]

    Maven报错:The packaging for this project did not assign a file to the build artifact[通俗易懂]一、问题发生    我想使用IDEA的Maven管理工具将项目安装到本地仓库,于是选择了Plugins下的install:install去执行,如下图所示:结果出现了如下报错信信息:[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-install-…

    2022年5月15日
    67
  • Presto实战

    Presto实战一、Presto简介1、PRESTO是什么?Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。Presto的设计和编写完全是为了解决像Facebook这样规

    2022年8月4日
    14
  • 浅析ASP.NET的IIS映射

    浅析ASP.NET的IIS映射

    2021年8月6日
    72
  • 前端缓存(HTTP缓存、浏览器缓存)浅析

    前端缓存(HTTP缓存、浏览器缓存)浅析前端缓存文章目录前端缓存缓存分类 1 http 缓存 1 强缓存 本地缓存 启发式缓存 2 协商缓存 弱缓存 2 浏览器缓存其他响应头和请求头参数刷新正常重新加载硬性重新加载清空缓存并硬性重新加载调试缓存缓存分类 1 http 缓存浏览器请求流程 1 强缓存 本地缓存 是否使用强缓存 由请求头中的如下参数决定 Expires 格式是 Fri 24Dec 24 07GMT 旧的规范 优先级比较低 Pragma 只有一个值 no cache 和 Cache Control 的 no

    2026年3月16日
    1
  • Hibernate关联关系映射[通俗易懂]

    Hibernate关联关系映射

    2022年2月3日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号