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

Python中的sort()与sorted()用法

Python中的sort()函数主要用于对列表(list)中的元素进行排序。它有两种形式:一种是列表的方法(即直接对列表对象调用),另一种则是内置的sorted()函数,它返回一个新的已排序列表,而不改变原始列表。

列表的sort()方法

使用列表的sort()方法时,它会直接修改原列表,使其元素按照升序(从小到大)排列。

基本用法

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]  
my_list.sort()  
print(my_list)  # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

参数

  • reverse=True:降序排序
  • key:用于比较的函数,例如按照字符串长度排序或按照元素的某个属性排序

示例

降序排序:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]  
my_list.sort(reverse=True)  
print(my_list)  # 输出:[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

使用key参数:

假设我们有一个包含字典的列表,我们想要根据字典中的某个值进行排序:

data = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 23}]  
data.sort(key=lambda item: item['age'])  
print(data)  
# 输出:[{'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 23}, {'name': 'Alice', 'age': 25}]

内置的sorted()函数

sorted()函数接受一个可迭代对象(如列表、元组等)作为输入,并返回一个新的已排序列表。原列表不会被修改。

基本用法

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]  
sorted_list = sorted(my_list)  
print(sorted_list)  # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]  
print(my_list)  # 输出:[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5],原列表未被修改

参数

sorted()函数的参数与sort()方法相同,包括reversekey

总之,sort()sorted()在功能上是相似的,主要区别在于前者会修改原列表,而后者会返回一个新的已排序列表。根据你的具体需求选择使用哪个函数。

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

相关文章:

  • 15.队列集
  • Dubbo 集群容错
  • 杨辉三角形(蓝桥杯,acwing)
  • 计算系数(acwing,数论)
  • 阿里面试题二
  • 第9章 文件和内容管理
  • 【Erlang】【RabbitMQ】Linux(CentOS7)安装Erlang和RabbitMQ
  • pe格式从入门到图形化显示(七)-导出表
  • 图片地址生成二维码(通过前端实现)
  • window安装maven和hadoop3.1.4
  • Redis系列之主从复制集群搭建
  • spring框架介绍
  • 如果在 Ubuntu 系统中两个设备出现两个相同的端口号解决方案
  • 随手分享的APP链接,可能会让你“大型社死”
  • 国内AI大模型已近80个,哪个最有前途?
  • 美团一面:说说synchronized的实现原理?问麻了。。。。
  • P1123 取数游戏(dfs算法)
  • 交叉验证(Cross-Validation)
  • 【kears】(01)keras使用介绍
  • 2. TypeScript 安装与环境配置指南
  • python pygame库的略学
  • 大模型日报2024-04-09
  • 抖音视频如何下载保存(方法分享)
  • MySQL-用户与权限管理:用户管理、权限管理、角色管理
  • Vue.js中如何使用Vue Router处理浏览器返回键的功能
  • QT drawPixmap和drawImage处理图片模糊问题
  • YOLOv9改进策略 :小目标 | 新颖的多尺度前馈网络(MSFN) | 2024年4月最新成果
  • 从零开始:一步步学习爬虫技术的实用指南(一)
  • Python面向对象详解
  • 思维题锻炼-最小数字