Python滤过滤器原理及实例应用

  

过滤器的语法:过滤器(函数名字,可迭代的变量)

  

其实过滤器就是一个“过滤器”:把【可迭代的变量】中的值,挨个地传给函数进行处理,那些使得函数的返回值为真正的变量组成的迭代器对象就是过滤表达式的结果

  

那过滤器的第一个参数,即函数的返回的值必须是bool类型,第二个参数必须是可迭代的变量:字符串,字典,元组,集合

  

其实从源码中也能大概看出过滤器是个什么东西

  

 Python滤过滤器原理及实例应用“> </p>
  <p>下面来看一些实际的代码示例:</p>
  <p>打印列表中以“A”开头的名字</p>
  
  <pre类=   def first_name (x):   如果x.startswith (“A”):   还真   其他:   返回假   name=(“亚历克斯”,“汉娜”,“安妮”,“阳光”)   f=过滤器(first_name、名称)   a_name=列表(f)   打印(“f:”, f)   打印(“a_name:“a_name)      

输出结果为:

  
  

f: & lt;过滤器对象0 x10cb28700>
  a_name:(“亚历克斯”,“安妮”)

     

下面再来一个过滤器和λ结合的例子:

  

打印人员信息的字典中,年纪大于18的人

        人=[   {" name ":“亚历克斯”,“年龄”:20},   {" name ":“汉娜”、“年龄”:19},   {" name ":“安妮”,“年龄”:16},   {" name ":“阳光”、“年龄”:18},   ]   过滤器(f=λp: p(“年龄”)在18岁的人)   print(列表(f))      

输出结果为:

  

<代码>[{“名称”:“亚历克斯”,“年龄”:20},{“名称”:“汉娜”,“年龄”:19}]

  

第二个参数也可以是字符串:

  
  

qq_mail=" 123 @qq.com "
  过滤器(f=λm: m.isnumeric (), qq_mail)
  print(列表(f))

     

输出结果:

  

<代码>[' 1 ',' 2 ',' 3 ']

  

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

Python滤过滤器原理及实例应用