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 29 Python
python实现批量改文件名称的方法
May 25 Python
python利用有道翻译实现&quot;语言翻译器&quot;的功能实例
Nov 14 Python
Python random模块用法解析及简单示例
Dec 18 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
Jul 20 Python
Python实现快速傅里叶变换的方法(FFT)
Jul 21 Python
解决pycharm运行时interpreter为空的问题
Oct 29 Python
python实现邮件发送功能
Aug 10 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
Jan 09 Python
Jmeter HTTPS接口测试证书导入过程图解
Jul 22 Python
Python无损压缩图片的示例代码
Aug 06 Python
python numpy中setdiff1d的用法说明
Apr 22 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的一个登录的类 [推荐]
2007/03/16 PHP
php把session写入数据库示例
2014/02/26 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
php提示Failed to write session data错误的解决方法
2014/12/17 PHP
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
php实现socket推送技术的示例
2017/12/20 PHP
laravel配置Redis多个库的实现方法
2019/04/10 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
javascript让setInteval里的函数参数中的this指向特定的对象
2010/01/31 Javascript
jQueryUI如何自定义组件实现代码
2010/11/14 Javascript
用js获取电脑信息(是使用与IE浏览器)
2013/01/15 Javascript
编程语言JavaScript简介
2014/10/16 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
vue实现抖音时间转盘
2019/09/08 Javascript
微信小程序 (地址选择1)--选取搜索地点并显示效果
2019/12/17 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
python实现朴素贝叶斯算法
2018/11/19 Python
对python中Json与object转化的方法详解
2018/12/31 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
如何通过Python3和ssl实现加密通信功能
2020/05/09 Python
python的链表基础知识点
2020/09/13 Python
pandas按条件筛选数据的实现
2021/02/20 Python
Blue Nile中国官网:全球知名的钻石和珠宝网络零售商
2020/03/22 全球购物
如何写一个Java类既可以用作applet也可以用作java应用
2016/01/18 面试题
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
单身联谊活动方案
2014/01/29 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle
Go语言读取txt文档的操作方法
2022/01/22 Golang
Python Matplotlib绘制动画的代码详解
2022/05/30 Python