python之lambda函数

lambda表达式,通常是在需要一个函数,但是又不想费神去定义一个函数的时候使用,也叫匿名函数。

lambda所表示的内容应该是很简单的,如果复杂的话就干脆重新定义一个函数了。

lambda的创建语法:

lambda parameters:express(例如:lambda x:x>1)

冒号后面的是函数体,也是函数的处理逻辑,冒号前面的返回值

parameters:可选,如果提供,通常是逗号分隔的变量表达式形式,即位置参数。

expression:不能包含分支或循环(但允许条件表达式),也不能包含return(或yield)函数。如果为元组,则应用圆括号将其包含起来。

lambda的使用举例:

add = lambda x,y:x-y
add(5,2)   #结果为3
s = lambda x:"yes" if x==1 else "no"
s(0)   #结果为no
s(1)   #结果为yes
需求:将列表中的元素按照绝对值大小进行升序排列
list1 = [3,5,-4,-1,0,-2,-6]
sorted(list1, key=lambda x: abs(x))
#把后面的迭代对象根据前面的方法筛选
a = filter(lambda x:x>5,[12,3,12,2,1,2,35])
print(next(a))
print(next(a))
print(next(a))
#输出
12 12 35
c = map(lambda x:x>5,[1,2,3,4,5,6])
print(next(c))
print(next(c))
print(next(c))
print(next(c))
print(next(c))
print(next(c))
#输出
False
False
False
False
False
True

 

posted @ 2019-03-13 19:30  西瓜汁拌面  阅读(360)  评论(0编辑  收藏  举报