一、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)

#

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 filter()及reduce()函数使用方法解析

本文地址: http://www.cppcns.com/jiaoben/python/342305.html

python reduce函数filter_Python filter()及reduce()函数使用方法解析相关推荐

  1. Python的map、filter、reduce函数

    Python的map.filter.reduce函数 map函数func作用于给定序列的每个元素,并用一个列表来提供返回值. map函数python实现代码: def map(func,seq):  ...

  2. python的map,filter,reduce函数

    Map函数  map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回.  举例说明  比如我们有一个函数f(x)=x2,要把这个函 ...

  3. Python学习日记(3)Python内建函数map()、filter()和匿名函数表达式

    内建函数map() 这个函数接收一个函数和一个可迭代对象作为参数,并以某种方式应用这个函数. old_list = [11,22,33] old_str = "test"new_l ...

  4. python filter函数_第九篇:Python中lambda、filter和map函数

    修修心养养性 世无常贵,事无常师,靠人不如靠己. 大纲 函数类型定义及特性 lambda函数定义及使用 filter函数定义及使用 map函数定义及使用 引入函数类型概念 函数类型定义:python中 ...

  5. python新式类c3算法_Python新式类的方法解析顺序MRO与Super

    新式类与经典类的方法解析顺序 MOR(方法解析顺序) 经典类:深度优先 DFS python3以前 新式类:广度优先 python2.2 新式类:广度优先的C3算法实现(拓扑排序) BFS pytho ...

  6. python读取xml文件信息_python读取xml文件方法解析

    关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python来读取xml文件. 什么是xm ...

  7. [Python] 函数lambda(), filter(), map(), reduce()

    转载地址:http://blog.csdn.net/dbanote/article/details/8912250 1.lambda() lambda()是Python里的匿名函数,其语法如下: la ...

  8. python语言入门m-Python -m参数原理及使用方法解析

    python -m xxx.py 作用是:把xxx.py文件当做模块启动 但是我一直不明白当做模块启动到底有什么用.python xxx.py和python -m xxx.py有什么区别! 自问自答: ...

  9. python操作sqlite数据库_Python操作Sqlite正确实现方法解析

    Python编程语言的优点非常多,它的编程特色主要体现在可扩充性方面.那么,在接下来的这篇文章中,我们将会为大家详细介绍一下有关Python操作Sqlite 的相关应用技巧,希望可以给大家带来些帮助. ...

最新文章

  1. 个人作业1——四则运算题目生成程序
  2. 重磅 | 周志华最新论文:首个基于决策树集成的自动编码器,表现优于DNN
  3. 手把手教你如何配置fiddler、并开启手机代理抓包、最详细
  4. 正則表達式基本元字符集及其含义(上)
  5. 如何判断离散数组 是递增趋势_期货交易中,如何通过交易周期判断趋势,做到顺势而为?...
  6. 小米造车是智能手机进入红海后的突围之举
  7. java 连接mongodb
  8. 这篇带你熟悉 SpringBoot+RabbitMQ 方式收发消息
  9. 头文件和实现文件的关系
  10. [转载] numpy数组遍历找到个数最多的元素
  11. matlab 矩阵逻辑与,MATLAB自学笔记(七):数组运算与矩阵操作
  12. xmind编写测试用例
  13. android高德地图热力图,热力图-自有数据图层-示例中心-JS API 示例 | 高德地图API...
  14. 迅雷7.22 和迅雷5.9 去广告优化增强绿色版
  15. 【工商银行科技菁英计划笔试】压缩字符串
  16. Java新特性(一 · JDK1.5)
  17. pyqt 事件更新图片显示_暗黑战神3D网游ARPG实战案例(Unity 2017.3)更新
  18. 异常:org.hibernate.cache.NoCachingEnabledException: Second-level cache is not enabled for usage [hiber
  19. Android 反编绎工具JEB简介及下载
  20. HmacSHA1 STM32F4xx C语言实现

热门文章

  1. 前端可视化开发-编辑器
  2. Python Selenium 浏览器点击操作
  3. cmake使用教程(五)调用opencv外部库和自己生成的库
  4. 常用的JDBC的驱动
  5. python迭代器和生成器_Python迭代器与生成器
  6. linux下安装mysql57_Linux下安装MySql
  7. UVA 540 Team Queue
  8. 数组自带的函数(方法)
  9. java.lang.InstantiationException: DWR can't find a spring config. See the logs for solutions
  10. javscript 创建类的三种方法【转】