实例环境
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:40:30) [MSC
v.1500 64 bit ( AMD64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
>>> help(filter)
Help on built-in function filter in module __builtin__:
filter(...)
filter(function or None, sequence) -> list, tuple, or string
Return those items of sequence for which function(item) is true.
If function is None, return the items that are true. If sequence
is a tuple or string, return the same type, else return a list.
filter参数的参数:第一个是函数对象或者None,第二个是序(sequence),如果第一个参数 是一个函数对象,则将第二个参数(可迭代的序列)作为函数参数传入函数,函数执行并把返回ture
的之筛选出来,并成一个同传入序列同类型的序列,如果第一个参数为None,则将第二个参数 里面为Ture的值筛选出
实例一:
当第一个参数为None时,筛选出第二个参数列表中元素符合True的值,并且以同类型的序列打包返回
>>> filter(None,[1,2,0,False,True])
[1, 2, True]
返回的值为列表类型
>>> t = filter(None,[1,2,0,False,True])
>>> type(t)
>>> t
[1, 2, True]
实例二:
将filter函数直接以迭代器的形式应用
>>> for i in filter(None,[1,2,0,False,True]):
... print i
...
1
2
True
实例三:
当第一个参数为一个函数时
>>> def odd(x):
... return x % 2
...
>>> t2 = filter(odd, range(10))
>>> t2
[1, 3, 5, 7, 9]
>>
实例四:
filter函数与lambda函数表达式的结合应用
>>> t3 = filter(lambda x : x % 2,range(10))
>>> t3
[1, 3, 5, 7, 9]