首页 > 编程语言 >python lambda的使用说明

python lambda的使用说明

时间:2022-09-20 22:13:35浏览次数:59  
标签:function filter map python reduce 说明 -- lambda

一 用途

  • 减少代码冗余
  • 没有函数名字,也指匿名函数
  • 快速实现函数功能

二 用法

  • 说明:
lambda argument_list:expersion

argument_list 表示输入传入的参数
expersion 表示计算得到的输出值

2.1 直接引用函数

>>> b=lambda a,b: a+b
>>> b(3,4)
7

2.2 将函数传递给其它函数
比如:sorted、map、filter、reduce

  • sorted
>>> a=[('cw',4,'it'),('pip',2,'art'),('kali',9,'xxxx')]
#按照第一排序
>>> sorted(a,key=lambda x:x[0])
[('cw', 4, 'it'), ('kali', 9, 'xxxx'), ('pip', 2, 'art')]
#按照第二个排序
>>> sorted(a,key=lambda x:x[1])
[('pip', 2, 'art'), ('cw', 4, 'it'), ('kali', 9, 'xxxx')]
>>> 
  • map
    -- map(function, sequence)
    -- 对seq里面的元素,执行function(item),返回一个指定对象
>>> list(map(lambda x: x*2,[1,2,3,4,5,6]))
[2, 4, 6, 8, 10, 12]
>>> 

  • filter
    -- filter(function,sequence)
    -- 对function执行结果为True组成一个新的列表或元组等
>>> list(filter(lambda x: x in [2,3],[1,2,3,4,5,6]))
[2, 3]
>>>
  • reduce
    --
    -- python3中,reduce已经从全局名称空间里移除,需要从functiontools中导入
    -- 有2个参数
from functools import reduce
>>> reduce(lambda x,y: x*y,[1,2,3,4,5,6])
720

2.3 联合使用

>>> reduce(lambda x,y: x+y,filter(lambda x:x%2==0,[1,2,3,4,5,6]))
12
>>> 

标签:function,filter,map,python,reduce,说明,--,lambda
From: https://www.cnblogs.com/vbear/p/16712751.html

相关文章