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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。