python的filter,lambda函数表达式
filter(functionorNone,sequence),其中sequence可以是list,tuple,string。这个函数的功能是过滤出sequence中所有以元素自身作为参数调用function时返回True或bool(返回值)为True的元素并以列表返回.filter只能接受两个参(function,sequence),其中函数function中只能返回一个值
先上一段简单的代码:
printmax(filter(lambdax:555555%x==0,range(100,999)))
代码的意思是输出555555最大的三位数的约数是多少。
首先,这段代码的第一个知识点是python的内置函数filter
filter()函数,是用来过滤列表的。最简单的说法就是用一个函数来过滤一个列表,把列表的每一项传递进入过滤函数,过滤函数返回false就从这个列表中删除该项。
filter()函数包括两个参数,function和list。即该函数根据function参数返回的结果是否为真来过滤list参数中的项,最后返回一个新的列表。
简单来讲,filter()函数相当于下面的代码:
c=[bforbina1ifb>2]
printc
第二个知识点是lambda()函数
Python支持这种语法,它允许用户快速定义单行的最小函数,这些叫做lambda的函数,是从Lisp借用来的。
deff(x):
returnx*2
g=lambdax:x*2
(lambdax:x*2)(3)
根据代码可以看到,lambda函数完成了普通函数相同的事情,并且,lambda在参数列表周围没有括号,并且忽略了return关键字(return隐含存在,因为整个函数只有一行,且该函数没有名称,但可以将它赋值给一个变量进行调用)
最后一段代码展示了lambda函数只是一个内联函数。
以上内容为大家介绍了python的filter,lambda函数表达式,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:开发教育。http://www.baikegou.com/
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!