python之lambda函数

lambda表达式,一般是在须要一个函数,可是又不想费神去定义一个函数的时候使用,也叫匿名函数。express

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

lambda的建立语法:spa

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

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

parameters:可选,若是提供,一般是逗号分隔的变量表达式形式,即位置参数。blog

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

lambda的使用举例:class

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
相关文章
相关标签/搜索