1、lambda
lambda只是一个表达式,函数体比def简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。
函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值。
lambda 函数不能包含命令,包含的表达式不能超过一个。
>>> def ds(x):
return 2*x+1
>>> ds(5)
11
>>> lambda x : 2 * x + 1
<function <lambda> at 0x01FAB660>
>>> g = lambda x : 2 * x + 1
>>> g(5)
11
>>> name = lambda x,y: x+","+y
>>> name("李","涛")
'李,涛'
2、fiter 过滤函数
filter()函数可以对序列做过滤处理,就是说可以使用一个自定的函数过滤一个序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果做过滤。最终一次性返回过滤后的结果。
filter()函数有两个参数:
第一个,自定函数名,必须的
第二个,需要过滤的列,也是必须的
例如:求奇数
>>> def odd(x):
return x % 2
>>> temp = range(10)
>>> show = filter(odd,temp)
>>> list(show)
[1, 3, 5, 7, 9]
条件过滤X>5
>>> def odd(x):
return x >5
>>> temp = range(10)
>>> show = filter(odd,temp)
>>> list(show)
[6, 7, 8, 9]