Lambda表达式
lambdm表达式也称为匿名表达式。所以不需要特别去定义函数的名字。通常在需要一个函数、但又不想去命名时,就可以使用匿名函数。
def add(x,y):
return x+y
lambda x,y:x+y
add函数时返回两个参数的值,改写为lambda表达式就是: lambda x,y:x+y
“:”左边是函数的参数,右边是函数返回值,lambda函数不需要“return”关键字返回内容。
一般什么时候使用到lambda函数呢?一般有两种情况:
(1)程序只执行一次,不需要定义函数名,使用lambda表达式方便定义,并且节省了内存中变量的定义;
(2)在某些函数中必须以函数作为参数,但是函数本身很简单而且只在一处使用。
#!/usr/bin/python
# -*- coding: utf-8 -*-
a1 = [1,2,3,4,5,6,7]
a2 = [item for item in filter(lambda x:x>5,a1)]
print(a2)
运行结果:
[6,7]
filter为python的内置函数,用于过滤序列,即过滤掉不符合条件的元素。filter函数的第一个参数需要传入另一个函数,传入的函数用来作为筛选条件,满足条件的返回“True”,否则返回“False”。