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 相关文章推荐
Django中实现一个高性能计数器(Counter)实例
Jul 09 Python
python使用socket远程连接错误处理方法
Apr 29 Python
python daemon守护进程实现
Aug 27 Python
Django实现简单分页功能的方法详解
Dec 05 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
Jun 04 Python
浅谈python写入大量文件的问题
Nov 09 Python
Python3.7 dataclass使用指南小结
Feb 22 Python
OpenCV3.0+Python3.6实现特定颜色的物体追踪
Jul 23 Python
Python更新所有已安装包的操作
Feb 13 Python
python 两种方法删除空文件夹
Sep 29 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
Feb 18 Python
Python数据分析入门之数据读取与存储
May 13 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
一个比较不错的PHP日历类分享
2014/11/18 PHP
apache中为php 设置虚拟目录
2014/12/17 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
PHP 中TP5 Request 请求对象的实例详解
2017/07/31 PHP
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
2010/03/09 Javascript
新鲜出炉的js tips提示效果
2011/04/03 Javascript
JavaScript数组各种常见用法实例分析
2015/08/04 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
2015/12/18 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
2016/04/26 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
jQuery each函数源码分析
2016/05/25 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
js+cavans实现图片滑块验证
2020/09/29 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
一个简单的python程序实例(通讯录)
2013/11/29 Python
简单谈谈python的反射机制
2016/06/28 Python
python线程中同步锁详解
2018/04/27 Python
python3.x实现发送邮件功能
2018/05/22 Python
python写日志文件操作类与应用示例
2019/07/01 Python
Python Web静态服务器非堵塞模式实现方法示例
2019/11/21 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
2020/02/14 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
巴西Mr. Cat在线商店:购买包包和鞋子
2019/09/08 全球购物
优秀实习生感言
2014/03/01 职场文书
创业女性典型材料
2014/05/02 职场文书
工作业绩不及格检讨书
2014/10/28 职场文书
2014年政协工作总结
2014/12/09 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技
SQL Server查询某个字段在哪些表中存在
2022/03/03 SQL Server