当前位置:
首页 > Python基础教程 >
-
Python中的Sorted()函数:揭秘Key参数的魔法,让你的排序随心所欲!
在Python的浩瀚海洋中,`sorted()`函数无疑是一颗璀璨的明珠。它不仅功能强大,而且用法灵活,尤其是`key`参数的使用,更是让排序工作变得随心所欲。今天,就让我们一起揭开`key`参数的神秘面纱,探索其背后的魔法!
### 一、初识`sorted()`函数
`sorted()`函数是Python内置的排序函数,它可以对可迭代对象(如列表、元组等)进行排序,并返回一个新的排序后的列表。基本用法非常简单:
然而,`sorted()`函数的强大之处不仅仅在于此。通过`key`参数,我们可以自定义排序规则,实现各种复杂的排序需求。`key`参数接受一个函数作为参数,这个函数将被应用于可迭代对象的每一个元素上,并返回一个用于排序的值。
#### 示例1:按照字符串长度排序
### 一、初识`sorted()`函数
`sorted()`函数是Python内置的排序函数,它可以对可迭代对象(如列表、元组等)进行排序,并返回一个新的排序后的列表。基本用法非常简单:
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]
### 二、`key`参数的魅力sorted_list = sorted(my_list)
print(sorted_list) # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
然而,`sorted()`函数的强大之处不仅仅在于此。通过`key`参数,我们可以自定义排序规则,实现各种复杂的排序需求。`key`参数接受一个函数作为参数,这个函数将被应用于可迭代对象的每一个元素上,并返回一个用于排序的值。
#### 示例1:按照字符串长度排序
words = ['apple', 'banana', 'cherry', 'date']
sorted_words = sorted(words, key=len)
print(sorted_words) # 输出:['date', 'apple', 'cherry', 'banana']
sorted_words = sorted(words, key=len)
print(sorted_words) # 输出:['date', 'apple', 'cherry', 'banana']
在这个例子中,我们使用了内置函数`len`作为`key`参数的值,实现了按照字符串长度进行排序。
#### 示例2:按照字符串中数字的大小排序
#### 示例3:按照自定义规则排序
### 三、总结
通过以上示例,我们可以看到`sorted()`函数的`key`参数具有强大的功能和灵活性。通过自定义排序规则,我们可以实现各种复杂的排序需求。无论是按照字符串长度、数字大小还是自定义规则进行排序,`key`参数都能让我们轻松应对。
现在,你已经掌握了`sorted()`函数`key`参数的魔法,快去试试吧!让你的排序工作变得随心所欲,展现出Python编程的魅力吧!
文章为本站原创,如若转载,请注明出处:
#### 示例2:按照字符串中数字的大小排序
words = ['apple1', 'banana2', 'cherry3', 'date4']
sorted_words = sorted(words, key=lambda x: int(x[-1]))
print(sorted_words) # 输出:['apple1', 'banana2', 'cherry3', 'date4']
在这个例子中,我们使用了匿名函数`lambda`作为`key`参数的值,实现了按照字符串中最后一个数字的大小进行排序。sorted_words = sorted(words, key=lambda x: int(x[-1]))
print(sorted_words) # 输出:['apple1', 'banana2', 'cherry3', 'date4']
#### 示例3:按照自定义规则排序
students = [('Tom', 20, 88), ('Jerry', 19, 95), ('Bob', 21, 76)]
sorted_students = sorted(students, key=lambda x: x[2], reverse=True)
print(sorted_students) # 输出:[('Jerry', 19, 95), ('Tom', 20, 88), ('Bob', 21, 76)]
在这个例子中,我们使用了匿名函数`lambda`作为`key`参数的值,实现了按照学生成绩从高到低进行排序。sorted_students = sorted(students, key=lambda x: x[2], reverse=True)
print(sorted_students) # 输出:[('Jerry', 19, 95), ('Tom', 20, 88), ('Bob', 21, 76)]
### 三、总结
通过以上示例,我们可以看到`sorted()`函数的`key`参数具有强大的功能和灵活性。通过自定义排序规则,我们可以实现各种复杂的排序需求。无论是按照字符串长度、数字大小还是自定义规则进行排序,`key`参数都能让我们轻松应对。
现在,你已经掌握了`sorted()`函数`key`参数的魔法,快去试试吧!让你的排序工作变得随心所欲,展现出Python编程的魅力吧!
文章为本站原创,如若转载,请注明出处:
栏目列表
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比