Python函数式编程:内置filter函数使用说明
2016-04-27 15:33
633 查看
filter操作是函数式编程中对集合的重要操作之一,其作用是从原集合中筛选符合条件的条目,组成一个新的集合。
这在我们日常编程中是非常常见的操作。我们通常的做法是通过循环语句来处理。
而使用filter方法会非常方面。
我们下面看python中的例子:
我们需求是从一个列表中筛选满足条件的条目,我们先用传统的循环语句来处理
我们下面用filter函数来处理
可以看出,用filter函数,只要一句语句,调用filter函数即可,返回值就是过滤后的列表。
也可以看出,filter函数需要两个参数:
第一个参数是处理函数,该函数有一个参数,就是集合中的元素,函数体就是一个返回布尔值的表达式
第二个参数就是待处理的集合
其filter函数的执行思路是,迭代对集合中的每个元素,传给第一个参数定义的函数进行处理,如果函数的返回值为true,则说明该元素需要保留。
这在我们日常编程中是非常常见的操作。我们通常的做法是通过循环语句来处理。
而使用filter方法会非常方面。
我们下面看python中的例子:
我们需求是从一个列表中筛选满足条件的条目,我们先用传统的循环语句来处理
>>> scores = [55, 80, 83, 64, 91, 100, 90, 79] >>> for score in scores: ... if score>=80 and score<90: ... newscores.append(score) ... >>> print newscores [80, 83] >>>
我们下面用filter函数来处理
>>> filter(lambda x : x>=80 and x<90 ,scores) [80, 83]
可以看出,用filter函数,只要一句语句,调用filter函数即可,返回值就是过滤后的列表。
也可以看出,filter函数需要两个参数:
第一个参数是处理函数,该函数有一个参数,就是集合中的元素,函数体就是一个返回布尔值的表达式
第二个参数就是待处理的集合
其filter函数的执行思路是,迭代对集合中的每个元素,传给第一个参数定义的函数进行处理,如果函数的返回值为true,则说明该元素需要保留。
相关文章推荐
- python中xrange简
- Python数据分析学习笔记四
- python 中文乱码问题
- python绘制铅球的运行轨迹
- python Unable to find vcvarsall.bat 错误
- python2.0 s12 day4
- Python读写文件的方式
- [python]python web开发系统架构
- Python 中的进程、线程、协程、同步、异步、回调
- zend studio和PyDev搭建Python开发环境
- python string与list互转
- PYTHON的函数对参数解析分析
- Python函数式编程:Lambda表达式
- Python中请使用isinstance()判断变量类型
- python面向过程程序设计
- Python下科学计算包numpy和SciPy的安装
- Python科学计算数据可视化模块-Matplotlib
- python 3 简单爬虫
- Python使用pip install psycopg2安装psycopg2包出现python setup.py egg_info failed with error code 1 in /tmp/pip-build-YtLeN3/psycopg2错误处理
- 使用python进行爬虫学习(一)