Python之lambda表达式
发布时间:2025-10-16 21:14:53

lambda表达式格式和应用场景
1、lambda函数与list的结合
list=lambda:xforxinrange(10) print(list[0]) >>>9 list=lambdax:xforxinrange(10) print(list[0]) >>>0
2、map,filter,reduce函数
例子:
a=[('a',1),('b',2),('c',3),('d',4)]
a_1=list(map(lambdax:x[0],a))例如,map函数的第一个参数是lambda表达式,输入对象并返回对象的第一个元素。第二个是需要工作的对象。这里有一个列表。在python3中,map返回map对象。我们需要手动将其转换为list[a’,’b’,’c’,’d’]
例子:
a=[1,2,3,4] b=[2,3,4,5] a_1=list(map(lambdax,y:x+y,a,b))
上面的例子是为了说明lambda可以有多个表达参数。返回结果为[3、5、7、9]
相关推荐:Python视频教程
例子:
a=[1,2,3,4,6,7] a_1=filter(lambdax:x<4,a)
例如,定义lambda表达式,筛选a列表中小于4的元素,结果为[1、2、3]。filter函数直接返回列表,无需转换。第三个是初始值。如果我们没有给出初始值,那么开始操作的两个元素是序列的前两个元素。否则,我们将使用我们给出的初始值和序列的第一个元素,然后结果将与第三个元素一起操作,以此类推。最后一个例子是28
例子:
fromfunctoolsimportreduce#需要导入此模块的python3 a=[1,2,3,4,6,7] a_1=reduce(lambdax,y:x+y,a)
reduce中使用的lambda表达式需要两个参数,reduce函数共三个参数。
第一个是lambda表达式,第二个是累积序列,第三个是初始值,我们没有给初始值,所以开始操作的两个元素是前两个序列。否则,我们将使用我们给出的初始值和序列的第一个元素,然后结果将与第三个元素一起操作,以此类推。最后一个例子是28。
3、字典多条件排序
例子:
dict={'a':1,'b':2,'c':3,'d':4,'e':3,'f':1,'g':7}
sorted_dict_asc=sorted(dict.items(),key=lambdaitem:item[0])
sorted_dict_dsc=sorted(dict.items(),key=lambdaitem:item[0],reverse=True)输出(第一升序,第二降序):
[('a',1),('b',2),('c',3),('d',4),('e',3),('f',1),('g',7)]
[('g',7),('f',1),('e',3),('d',4),('c',3),('b',2),('a',1)]]
下一篇 Python如何进行内存管理?
