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计算回文数的方法
Mar 11 Python
python函数局部变量用法实例分析
Aug 04 Python
Python使用Mechanize模块编写爬虫的要点解析
Mar 31 Python
利用Python实现网络测试的脚本分享
May 26 Python
python基础学习之如何对元组各个元素进行命名详解
Jul 12 Python
详解通过API管理或定制开发ECS实例
Sep 30 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
Python 最强编辑器详细使用指南(PyCharm )
Sep 16 Python
基于PyTorch的permute和reshape/view的区别介绍
Jun 18 Python
Python 数据的累加与统计的示例代码
Aug 03 Python
python 合并多个excel中同名的sheet
Jan 22 Python
详解Python描述符的工作原理
Jun 11 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
ThinkPHP登录功能的实现方法
2014/08/20 PHP
php将html转成wml的WAP标记语言实例
2015/07/08 PHP
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
showModelDialog弹出文件下载窗口的使用示例
2013/11/19 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
2013/12/13 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
使用Script元素发送JSONP请求的方法
2016/06/12 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
深入理解Angular.JS中的Scope继承
2017/06/04 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
node.js中http模块和url模块的简单介绍
2017/10/06 Javascript
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
vue实现选中效果
2020/10/07 Javascript
[52:06]完美世界DOTA2联赛决赛日 Inki vs LBZS 第一场 11.08
2020/11/10 DOTA
python登陆asp网站页面的实现代码
2015/01/14 Python
python判断windows系统是32位还是64位的方法
2015/05/11 Python
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
教你学会使用Python正则表达式
2017/09/07 Python
python 分离文件名和路径以及分离文件名和后缀的方法
2018/10/21 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
HTML5 drag和drop具体使用详解
2021/01/18 HTML / CSS
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
机械设计及其自动化求职推荐信
2014/02/17 职场文书
高中教师个人总结
2015/02/10 职场文书
英语教学课后反思
2016/02/15 职场文书
党员公开承诺书(2016最新版)
2016/03/24 职场文书
创业计划书之废品回收
2019/09/26 职场文书