Python filter()及reduce()函数使用方法解析


Posted in Python onSeptember 05, 2020

一、filter() 

在Python内建函数中,有一个和map()函数用法类似、却可以用来过滤元素的迭代函数,这个函数就是filter()。它的函数原型是:filter(function,itearable)

filter返回的是一个filter对象,可以通过list()或者for循环取出内容。 注意:传入的函数返回值必须是布尔类型。若是真则保留元素,假则过滤掉这元素

def is_even(x):
  return x%2==0
a=filter(is_even,[1,2,3,4,5,6])
print(a) 
#<filter object at 0x017FCF30>
print(list(a))
#[2, 4, 6]

下面在举个例子,体会一下发filter()的的用法。

#过滤列表中的元素
def is_empty(s):
  return s.strip()!=''
print(list(filter(is_empty,['','\n','\t','aa']))) #['aa']

二、reduce()

reduce()函数原型是reduce(function,sequence),它的作用是用function对序列进行累积操作。它返回值可以直接输出,不像map和filter返回的是一个迭代对象,还得去转化。

所谓的累计操作就是就是第 1、2 个元素用 function 函数运算,得到的结果再与第三个数据用 function 函数运算,然后得到的结果再与第四个进行运算,一次类推。

下面通过一个具体的例子来说明所谓的累计操作是怎么样的。

注:reduce函数是存放再functiontools模块中的,使用前要导入

#函数功能是实现阶乘
from functools import reduce #导入reduce
print(reduce(lambda x,y:x*y,[1,2,3,4])
#输出是24

整个过程如下:

1、操作第1,2个元素,即1 * 2 得到2

2、操作1的结果和第3个元素,即 2 * 3 得到6

3、操做2的结果和第4个元素,即 6 * 4 得到24

4、返回24

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中使用模块的教程
Apr 27 Python
python中print的不换行即时输出的快速解决方法
Jul 20 Python
python实现各进制转换的总结大全
Jun 18 Python
python实现在图片上画特定大小角度矩形框
Oct 24 Python
基于Django静态资源部署404的解决方法
Jul 28 Python
Pytorch中accuracy和loss的计算知识点总结
Sep 10 Python
python画微信表情符的实例代码
Oct 09 Python
Python图像处理库PIL中图像格式转换的实现
Feb 26 Python
Python日志logging模块功能与用法详解
Apr 09 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 Python
Keras之自定义损失(loss)函数用法说明
Jun 10 Python
python异常中else的实例用法
Jun 15 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
Sep 05 #Python
Python中猜拳游戏与猜筛子游戏的实现方法
Sep 04 #Python
Python实现快速大文件比较代码解析
Sep 04 #Python
基于python实现图片转字符画代码实例
Sep 04 #Python
Python HTMLTestRunner如何下载生成报告
Sep 04 #Python
详解python中的lambda与sorted函数
Sep 04 #Python
如何利用Python动态模拟太阳系运转
Sep 04 #Python
You might like
php下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
PHP中字符安全过滤函数使用小结
2015/02/25 PHP
详解PHP用substr函数截取字符串中的某部分
2016/12/03 PHP
在IE和VB中支持png图片透明效果的实现方法(vb源码打包)
2011/04/01 Javascript
微信小程序图片自适应支持多图实例详解
2017/06/21 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
2017/10/14 jQuery
js原生日历的实例(推荐)
2017/10/31 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
在JavaScript中如何访问暂未存在的嵌套对象
2019/06/18 Javascript
微信小程序页面滚动到指定位置代码实例
2019/09/07 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
JavaScript实现HSL拾色器
2020/05/21 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
Python标准库之多进程(multiprocessing包)介绍
2014/11/25 Python
用Python从零实现贝叶斯分类器的机器学习的教程
2015/03/31 Python
Python中的random()方法的使用介绍
2015/05/15 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
python实现连续图文识别
2018/12/18 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
2019/08/23 Python
Python中的四种交换数值的方法解析
2019/11/18 Python
Python 支持向量机分类器的实现
2020/01/15 Python
Python用input输入列表的实例代码
2020/02/07 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
2020/04/29 Python
使用css3实现超炫的loading加载动画效果
2014/05/07 HTML / CSS
100%有机精油,美容油:House of Pure Essence
2018/10/30 全球购物
退休感言
2014/01/28 职场文书
技术比武方案
2014/05/19 职场文书
设备售后服务承诺书
2014/05/30 职场文书
体育教师求职信
2014/06/30 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
导游词之吉林花园山
2019/10/17 职场文书
读后感怎么写?书写读后感的基本技巧!
2019/12/10 职场文书