Python的BIF(内置函数),filter() 以及匿名函数 lambda
匿名函数助于精简代码,有时候我们不懂给函数起个什么,这个函数也就使用一两次,这时候可以定一个匿名函数
格式: lambda x(变量),y(变量):x+y (返回值)
例如 >>> a=lambda x,y:x+y
>>> a(1,2)---------------------------->答案为3
filter()为Python的过滤函数,总共需要传两个参数,第一个参数为None 或者function(用来过滤用的函数逻辑),第二个参数为可遍历对象,例如下例
>>> filter(None,[1,2,34])
<filter object at 0x02E62EF0>
>>>
>>> list(filter(None,[1,2,34]))
[1, 2, 34] //类似JS,0会自动转为false,非0位true, 而对于对象类型 None, "" 都为false, 类似js中Null, ""转为布尔值也都是为false
>>> list(filter(None,[0,2,34]))
[2, 34]
>>> list(filter(None,[0,"",34]))
[34]
>>> list(filter(None,[0,None,34]))
[34]
>>> def ft(a):
if a%2==0:
return True
>>> list(filter(ft,[0,1,2,3,4,5,6,7,8,9]))
[0, 2, 4, 6, 8]
>>> list(filter(lambda x:x%2==0,[0,1,2,3,4,5,6]))
[0, 2, 4, 6]
>>> list(filter(lambda x:x%2,[0,1,2,3,4,5,6]))
[1, 3, 5]
>>>