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 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
Jan 12 Python
利用python程序生成word和PDF文档的方法
Feb 14 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
Aug 05 Python
基于Python的图像数据增强Data Augmentation解析
Aug 13 Python
Django restframework 框架认证、权限、限流用法示例
Dec 21 Python
为什么黑客都用python(123个黑客必备的Python工具)
Jan 31 Python
基于python纯函数实现井字棋游戏
May 27 Python
如何在mac版pycharm选择python版本
Jul 21 Python
Python监听剪切板实现方法代码实例
Nov 11 Python
用python自动生成日历
Apr 24 Python
教你怎么用python实现字符串转日期
May 24 Python
python opencv通过4坐标剪裁图片
Jun 05 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 多个submit提交表单 处理方法
2009/07/07 PHP
跟我学Laravel之视图 &amp; Response
2014/10/15 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
Jquery中val()表单取值赋值的实例代码
2013/08/15 Javascript
javascript自然分类法算法实现代码
2013/10/11 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
JavaScript实现自动切换图片代码
2016/10/11 Javascript
js return返回多个值,通过对象的属性访问方法
2017/02/21 Javascript
JS实现评价的星星功能
2017/08/20 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
详解Angular cli配置过程记录
2019/11/07 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
Python实现查找系统盘中需要找的字符
2015/07/14 Python
python实现感知器算法详解
2017/12/19 Python
python测试mysql写入性能完整实例
2018/01/18 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
Tornado实现多进程/多线程的HTTP服务详解
2019/07/25 Python
Pytorch 中retain_graph的用法详解
2020/01/07 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
写一个方法1000的阶乘
2012/11/21 面试题
国家励志奖学金获奖感言
2014/01/09 职场文书
电子邮箱格式怎么写
2014/01/12 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
运动会跳远广播稿5篇
2014/09/17 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
秋季运动会开幕词
2015/01/28 职场文书
培训通知
2015/04/17 职场文书
python 爬取华为应用市场评论
2021/05/29 Python