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迭代用法实例教程
Sep 08 Python
跟老齐学Python之从格式化表达式到方法
Sep 28 Python
python连接oracle数据库实例
Oct 17 Python
python连接MySQL数据库实例分析
May 12 Python
Python中处理字符串之isalpha()方法的使用
May 18 Python
教你用Type Hint提高Python程序开发效率
Aug 08 Python
Python数据拟合与广义线性回归算法学习
Dec 22 Python
Python中一些不为人知的基础技巧总结
May 19 Python
Python实现串口通信(pyserial)过程解析
Sep 25 Python
Python生成随机验证码代码实例解析
Jun 09 Python
Python高阶函数与装饰器函数的深入讲解
Nov 10 Python
Python机器学习之基于Pytorch实现猫狗分类
Jun 08 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使用者状态管理功能的应用
2006/10/09 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
php使用get_class_methods()函数获取分类的方法
2016/07/20 PHP
详解Yii2 之 生成 URL 的方法
2017/06/16 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
flash遮住div问题的正确解决方法
2014/02/27 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
JavaScript实现点击单元格改变背景色的方法
2016/02/12 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
关于vue面试题汇总
2018/03/20 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
2018/11/02 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
2019/04/26 Javascript
Javascript Worker子线程代码实例
2020/02/20 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
2020/08/07 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
[59:26]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第二局
2016/02/28 DOTA
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
Django objects的查询结果转化为json的三种方式的方法
2018/11/07 Python
pyautogui自动化控制鼠标和键盘操作的步骤
2020/04/01 Python
python中关于数据类型的学习笔记
2020/07/19 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
PyQt实现计数器的方法示例
2021/01/18 Python
美国受欢迎的女性牛仔裤品牌:DL1961
2016/11/12 全球购物
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
如何用SQL语句进行模糊查找
2015/09/25 面试题
艺术设计专业毕业生推荐信
2014/07/08 职场文书
学校查摆问题整改措施
2014/09/28 职场文书
小学教师求职信范文
2015/03/20 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
Python中使用ipython的详细教程
2021/06/22 Python
Node实现搜索框进行模糊查询
2021/06/28 Javascript
零基础学java之循环语句的使用
2022/04/10 Java/Android