sorted函数key关键字结合lambda函数用法

详细解释lambda匿名函数与sorted函数结合使用时的key参数含义。

在Python中,sorted()函数是一个内置函数,用于对任何可迭代对象(如列表、元组等)进行排序。其基本语法如下:

 

Python

1sorted(iterable, key=None, reverse=False)
  • iterable:需要排序的对象。
  • key:指定一个函数作为关键字,该函数会被应用到序列的每个元素上,并根据函数返回值进行排序。这个函数通常用来提取或转换序列中元素的部分内容以决定排序依据。
  • reverse:布尔值,默认为False,表示升序排序;如果设置为True,则按降序排序。

lambda是Python中的匿名函数,它允许你快速定义一个简单的、单行的、无需命名的函数。例如:

 

Python

1x = lambda a: a * 2
2print(x(5))  # 输出10,因为这里定义了一个匿名函数,作用是将输入值乘以2

lambdasortedkey参数结合使用时,你可以方便地根据序列中每个元素的某个属性或计算结果来排序。比如,如果你有一个包含元组的列表,每个元组代表一个人的姓名和年龄:

 

Python

1people = [('Alice', 23), ('Bob', 27), ('Charlie', 21)]

现在,如果你想按照年龄从小到大排序这个列表,就可以这样写:

 

Python

1sorted_people_by_age = sorted(people, key=lambda x: x[1])

这里的lambda x: x[1]是一个匿名函数,它接受一个元组作为输入(即列表中的人名年龄对),并返回元组的第二个元素(年龄)。因此,sorted()函数会根据每个人的年龄对整个列表进行排序,而不是直接比较整个元组。最终得到的sorted_people_by_age将是按照年龄升序排列的新列表。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值