python filter map reduce,filter map reduce作用_1

  python filter map reduce,filter map reduce作用

  在本文中,我们将学习Python中的三个高级函数:filter()、map()和reduce()。这三个函数也叫魔函数,有兴趣的朋友可以了解一下。

  

目录

filter()function map()function reduce()function filter()function小实战今天的章节,我们来学习一下Python中的三个高级函数,也就是大家熟知的魔函数。它们之所以如此先进,是因为它们返回的数据类型大多是迭代器。

 

  正如我们在上一章提到的,迭代器可以提高代码的执行效率,减少内存消耗。那么让我们来了解一下这些神奇的功能。

  

filter() 函数

 

  filter()函数是python的内置函数。

  filter()函数的作用:可以根据过滤条件从可遍历对象生成迭代器。(在python2.7版本2.7中,返回列表)

  如何使用filter()函数:

  用法:

  过滤器(函数,列表)

  参数介绍:

  函数:列表中每一项的条件过滤的定义(主要是判断第二个参数的每个成员,如果满足函数的要求,就进入filter生成的迭代器)

  List:需要过滤的列表(实际上,这里不需要只放列表,可以放iterable对象)

  演示案例如下(过滤掉列表中所有偶数):

  定义是_偶数(n):

  返回n % 2==0

  newlist=filter(is_even,[1,2,3,4,5,6])

  print(newlist,type(newlist))

  #执行结果如下:

  #0x7fb 241492310类“过滤器”处的过滤器对象

  因为我在新列表:中

  打印(一)

  #执行结果如下:

  # 2

  # 4

  # 6

  PS:需要注意的是,这里的非偶数,虽然被filter函数丢弃了,但是在之前的列表中还是会存在的。

  

map() 函数

 

  map()函数是python的内置函数。

  map()函数的作用:判断列表中的每个成员依次执行函数,将执行结果放入新的列表中,返回一个map对应的对象。

  如何使用map()函数:

  用法:

  地图(功能,列表)

  参数介绍:

  功能:判断列表中的每一项是否满足条件。

  List:需要过滤的列表(实际上,这里不需要只放列表,可以放iterable对象)

  演示案例如下(判断列表中每个成员是否大于1):

  结果=map(lambda x: x1,[0,1,2,3])

  打印(结果,类型(结果))

  #执行结果如下:

  #位于0x7facfa399e80类的映射对象“映射”

  对于结果:中的I

  打印(一)

  #执行结果如下:

  #错误

  #错误

  #真的

  #真的

  

reduce() 函数

 

  reduce()函数曾经是python的内置函数,现在已经不是了。(在Python版本中,可以直接调用reduce()函数;但是在python 3.x版本中,因为返回的迭代器不是迭代器,所以需要导入后才能继续使用。从functools导入语句import reduce)

  减少(

  ) 函数 的功能:对循环前后的两个数据进行累加或者累乘。(实际上可以通过 lambda 对这两个成员进行任何的处理)

  reduce() 函数的使用方法:

  用法:

  reduce(function, list)

  参数介绍:

  function:对数据累加/累成的函数

  list:需要过滤的列表 (其实这里不一定只可以放列表,放入的是可迭代对象)

  演示案例如下(对循环前后的两个数据进行累加或者累乘):

  

from functools import reduce

 

  

 

  

filter() 函数 小实战

 

  

scores = [("张三", 89, 90, 59),

 

  到此这篇关于Python学习之魔法函数(filter,map,reduce)详解的文章就介绍到这了,更多相关Python filter() map() reduce()内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: