filter(functionorNone, sequence)
对sequence中的item依次执行function(item),将执行结果为True(不为0)的item组成一个List/String/Tuple(取决于sequence的类型)返回,False则退出(0),进行过滤。
>>>defdiv(n):returnn%2
...
>>>filter(div,range(5))#返回div输出的不等于0的真值
[1,3]
>>>filter(div,range(10))
[1,3,5,7,9]
>>>filter(lambdax:x%2,range(10))#lambda函数返回奇数,返回列表
[1,3,5,7,9]
>>>filter(lambdax:notx%2,range(10))
[0,2,4,6,8]
>>>deffin(n):returnn!='z'#过滤'z'函数,出现z则返回False
...
>>>filter(fin,'zhoujy')#'z'被过滤
'houjy'
>>>filter(lambdax:x!='z','zhoujy')#labmda返回True值
'houjy'
>>>filter(lambdax:notx=='z','zhoujy')#返回:字符串
'houjy'
http://blog.chinaunix.net/uid-20788636-id-4257339.html