python的sorted函数

sorted 函数用于对可迭代对象进行排序。你可以使用 sorted 函数来按照默认的升序顺序对元素进行排序,也可以使用 key 参数来指定一个自定义的排序关键字函数。以下是 sorted 函数的基本用法以及关于 key 参数的详细说明:

基本用法:

sorted(iterable, key=None, reverse=False)
  • iterable:要排序的可迭代对象,例如列表、元组或字符串。
  • key(可选):一个函数,用于生成排序的关键字。默认为 None,表示按照元素的原始值排序。
  • reverse(可选):一个布尔值,控制排序顺序。如果设置为 True,则降序排序(从大到小),默认为 False,即升序排序(从小到大)。

示例使用 sorted 函数:

# 示例1:按默认升序排序
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers)
# sorted_numbers 现在包含 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

# 示例2:按照字符串长度排序
words = ["apple", "banana", "cherry", "date"]
sorted_words = sorted(words, key=len)
# sorted_words 现在包含 ["date", "apple", "cherry", "banana"]

在示例2中,我们使用了 key 参数,将 len 函数作为关键字函数,以便按照字符串的长度进行排序。这意味着在排序时,sorted 函数会根据每个元素通过 len 函数生成的值进行比较。

,经常将 lambda 表达式与 key 参数搭配使用,特别是在需要自定义排序规则时非常有用。通过 lambda 表达式,你可以定义一个匿名函数来生成排序关键字,而不必显式定义一个命名函数。这使得代码更简洁和紧凑。

下面是一个示例,演示了如何使用 lambda 表达式和 key 参数来对列表中的字典按照特定的键值进行排序:

data = [
    {'name': 'Alice', 'age': 30},
    {'name': 'Bob', 'age': 25},
    {'name': 'Eve', 'age': 35}
]

# 使用 lambda 表达式和 key 对字典列表按照 'age' 键进行排序
sorted_data = sorted(data, key=lambda x: x['age'])

# sorted_data 现在包含按照 'age' 键升序排序的字典列表
# [{'name': 'Bob', 'age': 25}, {'name': 'Alice', 'age': 30}, {'name': 'Eve', 'age': 35}]

在上面的示例中,我们使用 lambda 表达式定义了一个匿名函数,该函数接受一个字典并返回 'age' 键的值,这个函数作为 key 参数传递给 sorted 函数。这样,sorted 函数就会按照 'age' 键的值对字典列表进行排序。

 

posted @   海_纳百川  阅读(126)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2022-09-12 YOLOv5中的CSP结构
2022-09-12 python内置函数eval的用法和错误封装
2022-09-12 python 中的%S用法
2022-09-12 pycharm返回上一次光标位置
2022-09-12 python 函数参数引用之传值/传址和copy/deepcopy
2022-09-12 python多个等于号的表达式 a=b=c=d...=X
2022-09-12 python中Path详细用法
本站总访问量8950245
 
点击右上角即可分享
微信分享提示