您的位置:首页 > 编程语言 > Python开发

python filter函数

2016-06-16 10:10 543 查看
python中常用的内置函数,主要用来过滤元素列表。

filter(function or None, sequence),其中sequence 可以是list ,tuple,string。

这个函数的功能是过滤出sequence 中调用function函数结果为False的元素,仅输出符合条件的元素列表。

应用举例:

1.第一个参数为None时,可过滤掉列表中的0元素,或False值。



2.调用lambda函数,得到列表中能被3整除的数



注意在filter中lambda函数返回结果只能是bool型变量或数值型变量(0为False,其余为True),不然filter起不到过滤作用。

如果想对列表中的元素都进行lambda操作,则应调用内置的map函数。



3.lambda函数需输入两个变量时,应该引用元组。

lam=lambda (x,y):x<y
lam((0,1))
a0=[0,3,5]
a1=[1,2,3]
print filter(lam,zip(a0,a1))


比较a0,a1两个列表中的相对应的数,得到a0中比a1小的元素。filter只允许对一个列表进行过滤,因此可利用内置的zip函数将两个列表组合成一个list,

lambda接收两个参数做比较,但由于filter传入的是一个tuple元组,因此需把它们()起来。最后过滤后的元组list可用zip(*)将其分解。

如:



4.对于更加复杂的应用,可自己写function函数,进行一系列逻辑操作后,返回True或False,再filter。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: