sorted 函数

简介: sorted 函数

系统函数sorted() 函数对所有可迭代的对象进行排序操作。

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

#对列表进行排序

>>> a = [5,3,4,2,1]

>>> print(sorted(a))

#再次输出原来的列表 a

>>> print(a)

-------------------------------------------------------

[1, 2, 3, 4, 5]

[5, 3, 4, 2, 1]



#对列表进行排序, reverse 参数值改为 True,可实现降序排序

a = [5,3,4,2,1]

print(sorted(a,reverse=True))

-------------------------------------------------------

[5, 4, 3, 2, 1]



>>> L=[('b',2),('a',1),('c',3),('d',4)]

>>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1]))   # 利用cmp函数

[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

>>> sorted(L, key=lambda x:x[1])               # 利用key

[('a', 1), ('b', 2), ('c', 3), ('d', 4)]


示例一:字符串列表排序

以下示例使用 sorted() 函数对字符串列表按照字母顺序进行排序:

guests = ['James', 'Mary', 'John', 'Patricia', 'Robert', 'Jennifer']
sorted_guests = sorted(guests)
print(guests)
print(sorted_guests)

输出结果如下:

['James', 'Mary', 'John', 'Patricia', 'Robert', 'Jennifer']
['James', 'Jennifer', 'John', 'Mary', 'Patricia', 'Robert']

从输出结果可以看出,原始列表并没有改变。sorted() 函数基于原始列表返回了一个新的有序列表。

以下示例使用 sorted() 函数对 guests 列表进行反向排序:

guests = ['James', 'Mary', 'John', 'Patricia', 'Robert', 'Jennifer']
sorted_guests = sorted(guests, reverse=True)
print(sorted_guests)

输出结果如下:

['Robert', 'Patricia', 'Mary', 'John', 'Jennifer', 'James']



相关文章
|
28天前
|
人工智能 弹性计算 大数据
和五所高校一起,我们共同打造了一门 AI 课程!
阿里云、超星尔雅协同北京大学、南京大学、复旦大学、上海交通大学、浙江大学五所高校名师,共同推出的 AI 通识公益系列课程「动手学 AI:人工智能通识与实践」将于 9月 1 日面向全国所有高校、所有专业的师生正式开放。
234 5
|
消息中间件 Java Kafka
Java消息队列总结只需一篇解决ActiveMQ、RabbitMQ、ZeroMQ、Kafka
  一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。
2947 0
|
9月前
|
分布式计算 DataWorks 搜索推荐
聊聊DataWorks这个大数据开发治理平台
聊聊DataWorks这个大数据开发治理平台
269 2
|
Java Spring 开发者
Java Web开发新潮流:Vaadin与Spring Boot强强联手,打造高效便捷的应用体验!
【8月更文挑战第31天】《Vaadin与Spring Boot集成:最佳实践指南》介绍了如何结合Vaadin和Spring Boot的优势进行高效Java Web开发。文章首先概述了集成的基本步骤,包括引入依赖和配置自动功能,然后通过示例展示了如何创建和使用Vaadin组件。相较于传统框架,这种集成方式简化了配置、提升了开发效率并便于部署。尽管可能存在性能和学习曲线方面的挑战,但合理的框架组合能显著提升应用开发的质量和速度。
359 0
|
Kubernetes 安全 Cloud Native
解锁安全新纪元:利用服务网格Istio,打造全链路mTLS加密隧道,从入口网关到出口网关,守护数据安全的每一步
【8月更文挑战第2天】随着云原生技术的发展,服务网格(Service Mesh)如Istio已成为微服务架构的核心,通过双向TLS(mTLS)确保通信安全。首先,在Kubernetes部署Istio以管理服务通信。接着,配置入口网关实现所有入向流量的加密处理,防止数据泄露。最后,通过配置Sidecar代理如Envoy,确保服务网格安全访问外部mTLS服务,从而构建起全链路的数据安全防护。
358 11
|
Java 应用服务中间件 Linux
什么是tomcat, tomcat该如何使用?(java)
什么是tomcat, tomcat该如何使用?(java)
263 1
|
敏捷开发 Java 测试技术
阿里云云效产品使用合集之知识库总容量上限以及单次上传文件容量上限是多少
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
设计模式 前端开发 JavaScript
图解23种设计模式(TypeScript版)——前端切图崽必修内功心法
图解23种设计模式(TypeScript版)——前端切图崽必修内功心法
图解23种设计模式(TypeScript版)——前端切图崽必修内功心法
|
供应链 机器人
什么是RPA?
什么是RPA?
853 0
|
新零售 中间件 Java
首次揭秘:阿里巴巴中间件在 Serverless 技术领域的探索
在线应用不改代码也能迁移到 Serverless 架构,本文将揭秘阿里巴巴成千上万的在线应用如何演进到 Serverless 架构。
22014 52