python lambda语法,python中lambda函数的定义和用法

  python lambda语法,python中lambda函数的定义和用法

  

  lambda表达式格式以及应用场景

  1、lambda函数与list的结合使用

  list=lambda : xforxinrange(10)

  打印(列表[0])

  9

  list=lambda x : xforxinrange(10)

  打印(列表[0])

  02、map,filter,reduce函数

  示例:

  a=[(a ,1),( b ,2),( c ,3),( d ,4)]

  a _ 1=list(map(x 3360 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,5,6,7]

  A _ 1=filter(x 3360 x4,A)如上例,定义lambda表达式,过滤A列表中小于4的元素,结果为[1,2,3]。filter函数直接返回一个列表,不需要任何转换。第三个是初值。我们没有给出初始值,所以开始运算的前两个元素是序列的前两个。否则,我们将使用我们给出的初始值和序列对第一个元素进行运算,然后结果将对第三个元素进行运算,以此类推。上一个示例的结果是28。

  示例:

  from func tools import Reduce # python 3需要导入这个模块。

  a=[1,2,3,4,5,6,7]

  a _ 1=reduce(x,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=lambdaitem3360Item [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)]]

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: