Python filter()及reduce()函数使用方法解析
作者:Python探索牛 发布时间:2022-09-05 07:01:59
标签:Python,filter,reduce
一、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
来源:https://www.cnblogs.com/djdjdj123/p/13531927.html


猜你喜欢
- 在mysql文档中,mysql变量可分为两大类,即系统变量和用户变量。但根据实际应用又被细化为四种类型,即局部变量、用户变量、会话变量和全局
- MS SQL Server 2000通过企业管理器设置数据库的定期自动备份计划。1、打开企业管理器,双击打开你的服务器2、然后点上面菜单中的
- 本文实例讲述了python中while循环语句用法。分享给大家供大家参考。具体如下:number = 1while number <
- 1、开始->运行,输入SERVICES.MSC到服务里,停止所有Oracle服务; 2、开始->程序->Oracle - OraHome81
- ORCLE数据库备份策略 1.通过使用exp和imp命令实现数据库导出和导入。 有三种模式: a. 用户模式: 导出(导入)用户所有对象以及
- 如何做一个可以让人家申请使用的计数器? 好了,我们来做一个与页面分离的计数器,是文本型的啦。这也很简单,
- Pandas查询数据的几种方法df.loc方法,根据行、列的标签值查询df.iloc方法,根据行、列的数字位置查询df.where方法df.
- 之前都是直接拿sax,或dom等库去解析xml文件为Python的数据类型再去操作,比较繁琐,如今在写Django网站ajax操作时json
- 目录1.数据概览分析1.1 数据概览1.2 数据分析2. 项目总体思路2.1 数据读取2.2 模型预处理(1)数据离群点处理(2)数据归一化
- 1.sonarqube是一款代码分析的工具,通过soanrScanner扫描后的数据传递给sonarqube进行分析2.sonarqube社
- requests是一个python 轻量的http客户端库,相比python的标准库要优雅很多。接下来通过本文给大家介绍Python3使用r
- 首先撰写golang程序exportgo.go:package mainimport "C"import "f
- 此篇文章整理新手编写代码常见的一些错误,有些错误是粗心的错误,但对于新手而已,会折腾很长时间才搞定,所以在此总结下我遇到的一些问题。希望帮助
- 本文实例讲述了Python递归遍历列表及输出的实现方法。分享给大家供大家参考。具体实现方法如下:def dp(s): if is
- 前言Laravel是一个简单优雅的PHP Web开发框架,可以将开发者从意大利面条式的代码中解放出来,通过简单、高雅、表达式语法开发出很棒的
- 打开文件import xlrddata = xlrd.open_workbook('路径')获取文件中所有工作表的名称。da
- 一个Javascript 的类库,用于table内容排序。使用很方便,不用每次都去调用数据库了。特别适合多表查询的排序。加上<tbod
- 原文:Five quick JavaScript tips真是五个很quick的小提示:1.只在<form>元素上使用submi
- 本文实例讲述了JS+CSS实现的日本门户网站经典选项卡导航效果。分享给大家供大家参考。具体如下:这里介绍的是来自日本门户网站的一款CSS+J
- 1、Select元素2、定位select方法一:二次定位先定位 select 框,再定位 select 里的选项但有时候选项是无法定位的,所