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

作者:深藏blueblueblue 时间:2021-03-20 13:11:13 

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

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

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

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

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

下面来看一些实际的代码示例:

打印列表中以“A”开头的名字


def first_name(x):
 if x.startswith("A"):
   return True
 else:
   return False
name = ["Alex","Hana","Anny","Sunny"]
f = filter(first_name, name)
a_name = list(f)
print("f:",f)
print("a_name:",a_name)

输出结果为:

f: <filter object at 0x10cb28700>
a_name: ['Alex', 'Anny']

下面再来一个filter和lambda结合的例子:

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


people = [
 {"name":"Alex","age":20},
 {"name":"Hana","age":19},
 {"name":"Anny","age":16},
 {"name":"Sunny","age":18},
]
f = filter(lambda p:p["age"]>18, people)
print(list(f))

输出结果为:

[{'name': 'Alex', 'age': 20}, {'name': 'Hana', 'age': 19}]

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

qq_mail = "123@qq.com"
f = filter(lambda m:m.isnumeric(),qq_mail)
print(list(f))

输出结果:

['1', '2', '3']

来源:https://www.cnblogs.com/lybolg/p/12520208.html

标签:Python,filter,过滤器
0
投稿

猜你喜欢

  • Python3 mmap内存映射文件示例解析

    2021-07-14 15:05:50
  • Server 对象 错误 ASP 0177 800401f3 的解决方案 Server 对象 错误 ASP 0177 800401f3

    2009-07-28 17:57:00
  • ASP.NET教程第二讲 ASP.NET学习

    2007-08-07 12:01:00
  • 可刷新的Div+CSS+JS二级下拉树型菜单

    2007-10-09 19:14:00
  • 一些CSS样式书写技巧

    2007-10-16 12:57:00
  • jsp输出九九乘法表的简单实例

    2023-07-12 01:26:31
  • python快排算法详解

    2023-08-24 04:17:08
  • 企业网站FLASH引导页存在的意义

    2008-06-04 11:09:00
  • 非常详细的IFRAME的属性参考手册

    2008-02-12 12:45:00
  • python文件路径操作方法总结

    2023-04-30 21:00:15
  • 利用ASP实现事务处理的方法

    2010-05-11 16:53:00
  • CSS高级文字排版的实例

    2009-03-24 20:56:00
  • 用javascript实现的汉字简繁转换功能

    2008-05-04 13:15:00
  • JavaScript导出Excel实例详解

    2023-09-06 15:51:27
  • Yahoo!网站性能最佳体验的34条黄金守则—内容

    2008-05-13 12:14:00
  • 自适应网页设计(Responsive Web Design)

    2012-05-02 10:49:07
  • Python OpenCV超详细讲解基本功能

    2021-04-26 11:47:36
  • Uchome1.2 1.5 代码学习 common.php

    2023-11-15 02:56:10
  • python类参数定义及数据扩展方式unsqueeze/expand

    2023-08-07 21:56:42
  • ThinkPHP5.1表单令牌Token失效问题的解决

    2023-11-15 08:58:15
  • asp之家 网络编程 m.aspxhome.com