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实现实例
Apr 26 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
python中的字典操作及字典函数
Jan 03 Python
python检索特定内容的文本文件实例
Jun 05 Python
Tornado Web Server框架编写简易Python服务器
Jul 28 Python
python 计算一个字符串中所有数字的和实例
Jun 11 Python
python查看文件大小和文件夹内容的方法
Jul 08 Python
python英语单词测试小程序代码实例
Sep 09 Python
Python 3.6打包成EXE可执行程序的实现
Oct 18 Python
Python 中的pygame安装与配置教程详解
Feb 10 Python
Pycharm 设置默认解释器路径和编码格式的操作
Feb 05 Python
浅谈Python数学建模之固定费用问题
Jun 23 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 pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
2013/11/12 PHP
PHP自带方法验证邮箱是否存在
2016/02/01 PHP
PHP Echo字符串的连接格式
2016/03/07 PHP
PHP xpath()函数讲解
2019/02/11 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
基于jQuery实现文本框只能输入数字(小数、整数)
2016/01/14 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
location.hash保存页面状态的技巧
2016/04/28 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
vue增加强缓存和版本号的实现方法
2019/05/01 Javascript
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
[42:22]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第一局
2016/02/27 DOTA
gearman的安装启动及python API使用实例
2014/07/08 Python
python根据出生日期返回年龄的方法
2015/03/26 Python
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
tensorflow: variable的值与variable.read_value()的值区别详解
2018/07/30 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
简单介绍python封装的基本知识
2019/08/10 Python
python3正则模块re的使用方法详解
2020/02/11 Python
介绍一下mysql的日期和时间函数
2013/03/28 面试题
银行个人求职自荐信范文
2013/12/16 职场文书
大学生村官工作感言
2014/01/10 职场文书
初三物理教学反思
2014/01/21 职场文书
党风廉设责任书
2014/04/16 职场文书
2014年党员评议表自我评价
2014/09/27 职场文书
内乡县衙导游词
2015/02/05 职场文书
会计求职简历自我评价
2015/03/10 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书