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新手中常见的疑惑及解答
Jun 14 Python
微信 用脚本查看是否被微信好友删除
Oct 28 Python
python常见的格式化输出小结
Dec 15 Python
Python3结合Dlib实现人脸识别和剪切
Jan 24 Python
Python+request+unittest实现接口测试框架集成实例
Mar 16 Python
每天迁移MySQL历史数据到历史库Python脚本
Apr 13 Python
用Python写一段用户登录的程序代码
Apr 22 Python
Python使用字典的嵌套功能详解
Feb 27 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
Nov 19 Python
Python数据模型与Python对象模型的相关总结
Jan 26 Python
Python爬虫之爬取二手房信息
Apr 27 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
MySql中正则表达式的使用方法描述
2008/07/30 PHP
php文件服务实现虚拟挂载其他目录示例
2014/04/17 PHP
php-msf源码详解
2017/12/25 PHP
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
jquery弹出关闭遮罩层实例
2013/08/06 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
JavaScript设计模式之抽象工厂模式介绍
2014/12/28 Javascript
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
移动端JQ插件hammer使用详解
2015/07/03 Javascript
PHP结合jQuery实现的评论顶、踩功能
2015/07/22 Javascript
详解Javascript事件驱动编程
2016/01/03 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
2016/03/10 Javascript
详解Vue2 无限级分类(添加,删除,修改)
2017/03/07 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
2017/05/30 Javascript
js实现京东轮播图效果
2017/06/30 Javascript
JavaScript异步加载问题总结
2018/02/17 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
[39:18]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第二场 12.17
2020/12/19 DOTA
python 七种邮件内容发送方法实例
2014/04/22 Python
举例讲解Linux系统下Python调用系统Shell的方法
2015/11/07 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
使用pyecharts1.7进行简单的可视化大全
2020/05/17 Python
Python: glob匹配文件的操作
2020/12/11 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
英语专业大学生求职简历的自我评价
2013/10/18 职场文书
出国留学介绍信
2014/01/13 职场文书
计算机毕业生自荐信范文
2014/03/23 职场文书
个人授权委托书模板
2014/09/14 职场文书
作文批改评语
2014/12/25 职场文书
邹越演讲观后感
2015/06/15 职场文书
小学班主任培训心得体会
2016/01/07 职场文书
2016保送生自荐信范文
2016/01/29 职场文书
JAVA springCloud项目搭建流程
2022/05/11 Java/Android
VW、VH适配移动端的解决方案与常见问题
2023/05/21 HTML / CSS