python基本 filter, lambda 函数表达式
当前位置:以往代写 > Python教程 >python基本 filter, lambda 函数表达式
2019-06-14

python基本 filter, lambda 函数表达式

python基本 filter, lambda 函数表达式

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

先上一段简朴的代码:

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

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

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

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

filter()函数包罗两个参数, function和list。即该函数按照function参数返回的功效是否为真来过滤list参数中的项,最后返回一个新的列表。

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

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

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

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

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

按照代码可以看到,lambda函数完成了普通函数沟通的工作,而且,lambda在参数列表周围没有括号,而且忽略了return要害字(return隐含存在,因为整个函数只有一行,且该函数没有名称,但可以将它赋值给一个变量举办挪用)

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

    关键字:

在线提交作业