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


Posted in Python onAugust 18, 2020

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']

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

Python 相关文章推荐
Python Queue模块详解
Nov 30 Python
浅析Python中else语句块的使用技巧
Jun 16 Python
Python连接数据库学习之DB-API详解
Feb 07 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
Mar 13 Python
Python Scapy随心所欲研究TCP协议栈
Nov 20 Python
使用Python实现微信提醒备忘录功能
Dec 04 Python
Django框架模板文件使用及模板文件加载顺序分析
May 23 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
Jun 05 Python
Python socket非阻塞模块应用示例
Sep 12 Python
python 爬虫之selenium可视化爬虫的实现
Dec 04 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
Jan 15 Python
python3读取文件指定行的三种方法
May 24 Python
Python lambda表达式原理及用法解析
Aug 18 #Python
python 使用建议与技巧分享(四)
Aug 18 #Python
Python正则re模块使用步骤及原理解析
Aug 18 #Python
python使用建议技巧分享(三)
Aug 18 #Python
python3跳出一个循环的实例操作
Aug 18 #Python
OpenCV图片漫画效果的实现示例
Aug 18 #Python
Django DRF APIView源码运行流程详解
Aug 17 #Python
You might like
二次元帅气男生排行榜,只想悄悄收藏系列
2020/03/04 日漫
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
判断用户是否在线的代码
2011/03/05 Javascript
js 回车提交表单两种实现方法
2012/12/31 Javascript
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
jquery foreach使用示例
2013/09/12 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
Python continue语句用法实例
2014/03/11 Python
使用python生成目录树
2018/03/29 Python
使用python将大量数据导出到Excel中的小技巧分享
2018/06/14 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
2018/12/18 Python
python树莓派红外反射传感器
2019/01/21 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
Python流程控制 while循环实现解析
2019/09/02 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2019/09/25 Python
浅谈pymysql查询语句中带有in时传递参数的问题
2020/06/05 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
大学生村官任职感言
2014/01/09 职场文书
探亲邀请信范文
2014/01/30 职场文书
什么是就业协议书
2014/04/17 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
2014年团支部工作总结
2014/11/17 职场文书
小学教师节活动总结
2015/03/20 职场文书
《从现在开始》教学反思
2016/02/16 职场文书
利用python做数据拟合详情
2021/11/17 Python