Python filter过滤器原理及实例应用
作者:深藏blueblueblue 发布时间:2021-03-20 13:11:13
标签:Python,filter,过滤器
filter的语法:filter(函数名字,可迭代的变量)
其实filter就是一个“过滤器”:把【可迭代的变量】中的值,挨个地传给函数进行处理,那些使得函数的返回值为True的变量组成的迭代器对象就是filter表达式的结果
那filter的第一个参数,即函数的返回的值必须是bool类型,第二个参数必须是可迭代的变量:字符串、字典、元组、集合
其实从源码中也能大概看出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']
来源:https://www.cnblogs.com/lybolg/p/12520208.html


猜你喜欢
- 如下:将html文件下载后,使用BeauifulSoup读取文件,并且使用html.parsertmp_soup.select里面的参数为:
- 大家好,本文将分享如何使用matplotlib制作动态条形图,制作的图很美,这个是我在之前发布的一篇中使用的图片,效果如下制作思路为了方便大
- 301跳转通常用在网站换域名和为了保持链接统一性所用的。比如你原来的域名www.a.com现在换成www.b.com,用了301跳转后,访问
- 本文实例为大家分享了Bootstrap进度条的具体实现代码,供大家参考,具体内容如下<!doctype html><htm
- 如果出现 automation服务器不能创建对象 解决方法:1、如果是Scripting.FileSystemObje
- 情感短文本分类TextRNN是一种循环神经网络(RNN)结构,特别适用于处理序列数据。它通过将上一个时刻的隐状态与当前时刻的输入进行结合,来
- 方案有很多种,我这里简单说一下:1. into outfileSELECT * FROM mytable  
- 关于段落<p></p>相信大家已经都在自己的工作中开始关注并应用了。因为那真的是非常简单的事,只要你愿意你随时都可以
- 前言今天为大家介绍一个利用Python模拟登陆CSDN的案例,虽然看起来很鸡肋,有时候确会有大用处,在这里就当做是一个案例练习吧,提高自己的
- 01直接生成这类方法是利用基本程序软件包numpy的随机数产生方法来生成各类用于聚类算法数据集合,也是自行制作轮子的生成方法。一、基础类型1
- Math.min()和Math.max()用法相似。两个方法用来获取给定的一组数值中的最大值或最小值,但是却不接受数组作为参数。当然可以写个
- Oracle的Nvl函数nvl( ) 函数从两个表达式返回一个非null 值。语法NVL(eExpression1, eExpression
- 引言在 web 项目中,我们经常使用自定义状态码来告知请求方请求结果以及请求状态;在 Python 中该如何设计自定义的状态码信息呢?普通类
- 我想从列表中取出一部分拿来使用,可以创建切片,指定需要使用的第一个元素和最后一个元素的索引使用例子,说明切片的使用#创建一个数字列表,代表我
- 条件去官网下载.war和.msi文件夹https://www.jenkins.io第一条线是war第二条线是msi保存到的地方(根据你的电脑
- 视频读取视频读取,主要利用VideoCapture类下的方法打开视频并获取视频中的帧,具体示例如下:#include<iostream
- 前言今天我们一起来看一看 vue3+ts如何优雅的封装axios,并结合 mock.js 实现敏捷开发;但是我们要注意区分 Axios 和
- Laravel框架简介:Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂
- 备注 与 DELETE 语句相比,TRUNCATE TABLE 具有以下优点: 所用的事务日志空间较少。 DELETE 语句每次删除一行,并
- mysql设置字段长度1.关于char和varcharchar是定长字符,varchar是变长字符。在mysql4.0版本之前,char和v