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函数需输入两个变量时,应该引用元组。
比较a0,a1两个列表中的相对应的数,得到a0中比a1小的元素。filter只允许对一个列表进行过滤,因此可利用内置的zip函数将两个列表组合成一个list,
lambda接收两个参数做比较,但由于filter传入的是一个tuple元组,因此需把它们()起来。最后过滤后的元组list可用zip(*)将其分解。
如:
4.对于更加复杂的应用,可自己写function函数,进行一系列逻辑操作后,返回True或False,再filter。
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。
相关文章推荐
- Python中的for语句
- 利用python进行数据分析-数据规整化1
- Python学习笔记:魔术方法详解
- 欢迎使用CSDN-markdown编辑器
- python 实现Hadoop的partitioner和二次排序
- python大规模数据处理技巧之一:数据常用操作
- asyncio创建协程解析——分析廖雪峰的Python教程之创建WEB服务(转)
- python基础教程之分支、循环简单用法
- Hello, Python!
- python数据类型详解
- 一位搬砖工人自学python的开始
- Python3 错误处理 和 测试
- python datetime strftime
- Python进行数据提取的方法总结
- python基础教程之分支、循环简单用法
- 浅析Python中else语句块的使用技巧
- Python黑魔法@property装饰器的使用技巧解析
- Python利用带权重随机数解决抽奖和游戏爆装备问题
- 详解Python中 __get__和__getattr__和__getattribute__的区别
- 浅谈Python中chr、unichr、ord字符函数之间的对比