当前位置: 首页 > news >正文

Python 中的列表排序和排序规则

Python 中的列表排序和排序规则

在 Python 中,列表的排序是一个常见的操作,可以使用内置函数 sorted() 或列表对象的 sort() 方法来完成。下面将介绍这两种方法以及排序规则的使用方式。

1. 使用 sorted() 函数排序列表(临时性排序)

sorted() 函数接受一个可迭代对象作为参数,并返回一个新的已排序的列表,而不修改原始列表。示例如下:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
sorted_list = sorted(my_list)
print(sorted_list)  # 输出:[1, 1, 2, 3, 4, 5, 5, 6, 9]
2. 使用 sort() 方法对列表进行排序(永久性排序)

sort() 方法用于直接修改原始列表,并按照指定的排序规则对其进行排序。示例如下:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
my_list.sort()
print(my_list)  # 输出:[1, 1, 2, 3, 4, 5, 5, 6, 9]
3. 指定排序规则

如果想要根据特定规则进行排序,可以使用 key 参数来指定一个函数,该函数将应用于列表中的每个元素,并用于生成排序依据。
存在相同的排序依据(例如,对字符串列表按长度排序,有多个字符串具有相同的长度),那么 Python 将按照原始列表中元素的顺序来保持这些相同元素的相对位置不变
例如,按照字符串长度排序:

my_list = ["banana","grape", "apple", "orange", "kiwi"]
sorted_list = sorted(my_list, key=len)
print(sorted_list)  # 输出:['kiwi', 'grape', 'apple', 'banana', 'orange']
4. 默认排序规则

Python 中默认的排序规则是按照元素的自然顺序进行排序。对于数字类型,自然顺序是从小到大排序;对于字符串类型,自然顺序是按照字典顺序进行排序。

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
sorted_list = sorted(my_list)
print(sorted_list)  # 输出:[1, 1, 2, 3, 4, 5, 5, 6, 9]my_list = ["banana", "apple", "orange"]
sorted_list = sorted(my_list)
print(sorted_list)  # 输出:['apple', 'banana', 'orange']

通过以上方法,可以在 Python 中对列表进行灵活的排序,并根据需要定义排序规则。

http://www.lryc.cn/news/338572.html

相关文章:

  • 面经整理1
  • ChatGPT个人专用版 SSRF漏洞复现(CVE-2024-27564)
  • Python中的可哈希与不可哈希对象详解
  • 【嵌入式DIY实例】-DIY速度计
  • 1.0 Hadoop 教程
  • 【无人机/平衡车/机器人】详解STM32+MPU6050姿态解算—卡尔曼滤波+四元数法+互补滤波(文末附3个算法源码)
  • 智能水务系统:构建高效节水的城市水网
  • 【JavaEE初阶系列】——网络编程 UDP客户端/服务器 程序实现
  • 数据结构复习指导之绪论(算法的概念以及效率的度量)
  • C语言经典例题(23)
  • Gitea的简单介绍
  • Qt信号与槽
  • QQ农场-phpYeFarm添加数据教程
  • Java中创建多线程的方法
  • MT3020 任务分配
  • 【Redis】事务
  • 每日一题(leetcode238):除自身以外数组的乘积--前缀和
  • 内网通如何去除广告,内网通免广告生成器
  • 视频知识整理
  • 【2024】使用Rancher管理k8s集群和创建k8s集群
  • 生成对抗网络 – Generative Adversarial Networks | GAN
  • 基于深度学习的生活垃圾智能分类系统(微信小程序+YOLOv5+训练数据集+开题报告+中期检查+论文)
  • 软件包名生成参考
  • 八大排序算法(面试被问到)
  • SCP指令详细使用介绍
  • 《前端面试题》- JS基础 - 防抖和节流
  • RAGFlow:基于OCR和文档解析的下一代 RAG 引擎
  • 正则表达式|*+?
  • 前端开发攻略---根据音频节奏实时绘制不断变化的波形图。深入剖析如何通过代码实现音频数据的可视化。
  • 【计算机毕业设计】基于Java+SSM的实战开发项目150套(附源码+演示视频+LW)