Python如何用过滤器函数筛选数据

  

<强>一。过滤器函数简介
  

  

过滤器函数主要用来筛选数据,过滤掉不符合条件的元素,并返回一个迭代器对象,如果要转换为列表列表或者元祖元组,可以使用内置函数列表()或者内置函数元组()来转换;

  

过滤器函数接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回或真或假,最后将返回真正的元素放到新列表中,就好比是用筛子,筛选指定的元素;

  

语法:   

过滤器(函数,iterable)
  

  

参数:   

函数,函数名,

  

iterable -序列或者可迭代对象,

  

返回值:通过函数过滤后,将返回真正的元素保存在迭代器对象中,最后返回这个迭代器对象(python2.0x版本是直接返回列表列表),

  

<强>二。过滤器函数使用
  

  

1.过滤函数简单使用

        # ! usr/bin/env python   # - * -编码:utf - 8 _ * -   ”“”   @Author:何以解忧   @Blog(个人博客地址):shuopython.com   @WeChat官方账户(微信公众号):猿说python   @Github: www.github.com      @File: python_process_Pool.py   @Time: 2020/1/14日月星辰      @Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!   ”“”   def检查(我):   #如果是偶数返回真否则返回错误的   返回True,如果我% 2==0错误      if __name__==癬_main__”:      list1=[1、2、3、4、5、6)   list1结果=过滤器(检查)   打印(结果)   print(类型(结果))      #将返回的迭代器转为列表列表或者元组   print(列表(结果))   print(类型(列表(结果)))      

输出结果:

  
  

& lt;过滤器对象0 x0000015127ba7eb8>
  & lt;类“过滤器”在
  (2、4、6)
  & lt;类的列表在

     

2.过滤函数配合匿名函数λ使用

        def check_score(分数):   如果分数比;60:   还真   其他:   返回假      if __name__==癬_main__”:      #成绩列表   student_score={" zhangsan”: 98年,“lisi”: 58岁的“wangwu”: 67年,“老王”:99年,“庐山逍夏”:57}      #筛选成绩大于60的成绩列表   结果=过滤器(λ得分:分数比;60岁student_score.values ())   #与上面一行代码等价   #=过滤结果(check_score student_score.values ())      打印(结果)   print(类型(结果))      #将返回的迭代器转为列表列表或者元组   print(列表(结果))   print(类型(列表(结果)))      

输出结果:

  
  

& lt;过滤器对象0 x000001b761f88fd0>
  & lt;类“过滤器”在
  (98、67、99)
  & lt;类的列表在
  

     

注意:过滤器函数返回的是一个迭代器对象,往往在使用时需要先将其转换为列表列表或者元祖元组之后再操作,

  

python过滤器函数其实和内置函数映射()使用方法类似,map()函数也是将迭代器或者序列中的每一个元素映射到指定的函数中,操作完成之后再返回修改后的迭代器对象,

  

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

Python如何用过滤器函数筛选数据