您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python filter, lambda 函数表达式用法示例

5b51 2022/1/14 8:14:59 python 字数 5280 阅读 303 来源 www.jb51.cc/python

python filter, lambda 函数表达式用法示例

概述

filter(function or None,sequence),其中sequence 可以是list,tuple,string。这个函数功能是过滤出sequence 中所有以元素自身作为参数调用function时返回True或bool(返回值)为True的元素并以列表返回. filter只能接受两个参(function,sequence) ,其中函数function中只能返回一个

先上一段简单的代码


# @param python基础 filter,lambda 函数表达式
# @author 编程之家 jb51.cc|www.512Pic.com 

print max(filter(lambda x: 555555 % x == 0,range(100,999)))

# End www.jb51.cc

代码的意思是输出 555555 最大的三位数的约数是多少。

首先,这段代码的第一个知识点是python的内置函数 filter

filter()函数,是用来过滤列表的。最简单的说法就是 用一个函数来过滤一个列表,把列表的每一项传递进入过滤函数,过滤函数返回false就从这个列表中删除该项。

filter()函数包括两个参数, function和list。即该函数根据function参数返回的结果是否为真来过滤list参数中的项,最后返回一个新的列表。

简单来讲,filter()函数相当于下面的代码


# @param python基础 filter,lambda 函数表达式
# @author 编程之家 jb51.cc|www.512Pic.com 

c = [b for b in a1 if b > 2]
print c

# End www.jb51.cc

第二个知识点是 lambda()函数

Python支持这种语法,它允许用户快速定义单行的最小函数,这些叫做 lambda的函数,是从Lisp借用来的。


# @param python基础 filter,lambda 函数表达式
# @author 编程之家 jb51.cc|www.512Pic.com 

def f(x):
    return x * 2
g = lambda x: x * 2
(lambda x: x * 2)(3)

# End www.jb51.cc

根据代码可以看到,lambda函数完成了普通函数相同的事情,并且,lambda在参数列表周围没有括号,并且忽略了return关键字(return隐含存在,因为整个函数只有一行,且该函数没有名称,但可以将它赋值给一个变量进行调用

最后一段代码展示了lambda函数只是一个内联函数

总结

以上是编程之家为你收集整理的python filter, lambda 函数表达式用法示例全部内容,希望文章能够帮你解决python filter, lambda 函数表达式用法示例所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶