python六十二课——高阶函数之filter
高阶函数之:
filter函数:过滤数据的,最终返回一个惰性序列对象(filter对象,迭代器对象)
解释:
filter的意思:在计算机领域中我们都称为过滤器
格式:
filter(fn,lsd):
参数和map、reduce一样理解
功能:
将lsd中的每一个元素都给到fn函数
如果fn函数的返回值为True,那么就保留这个元素到filter对象中
如果fn函数的返回值为False,那么就舍弃这个元素,不会保留到filter对象中
最终filter函数执行完毕了,返回给程序一个filter对象(迭代器对象)
import collections
#需求:lt=[1,2,3,4,5,6,7,8]-->效果:[2,4,6,8]
lt=[1,2,3,4,5,6,7,8] #代码实现一:老技术
lt1=[]
for i in lt:
if i%2==0:
lt1.append(i)
print(lt1) #代码实现二:新技术
def func(obj):
if obj%2==0:
return True
return False
fo=filter(func,lt)
print(fo,type(fo))
# print(isinstance(fo,collections.Iterator))
# print(next(fo))
print(list(fo)) #终极版
print(list(filter(lambda x:x%2==0,lt))) '''
需求:
lt = [123,'abcd',0,3.14,0.0,'haha','hehe','',True,False,(),[],{},[1,2,3],{11,22,33},{'name':'jack','age':23}]
得到效果如下:
[123,'abcd',3.14,'haha','hehe',True,[1,2,3],{11,22,33},{'name':'jack','age':23}]
'''
lt = [123,'abcd',0,3.14,0.0,'haha','hehe','',True,False,(),[],{},[1,2,3],{11,22,33},{'name':'jack','age':23}]
print(list(filter(lambda x:bool(x),lt)))
print(list(filter(bool,lt))) '''
需求:
lt1 = ['aaaaaaaa','bbbb','cccccc','ddd']
得到效果如下:保留长度大于等于4的元素
['aaaaaaaa','bbbb','cccccc']
'''
lt1 = ['aaaaaaaa','bbbb','cccccc','ddd']
print(list(filter(lambda x:len(x) >= 4,lt1)))
返回目录
python六十二课——高阶函数之filter的更多相关文章
- python六十四课——高阶函数练习题(二)
总结:高阶函数以及匿名函数之间的配合使用 from functools import reduce #模块一:lambda和filter的结合使用 #lt = [1,2,3,4,5,6,7,8,9] ...
- python六十四课——高阶函数练习题(三)
案例五:求两个列表元素的和,返回新列表lt1 = [1,2,3,4]lt2 = [5,6]效果:[6,8,10,12] lt1=[1,2,3,4] lt2=[5,6] print(list(map(l ...
- python六十四课——高阶函数练习题(一)
1.lt = ['sdfasdfa', 'ewqrewrewqr', 'dsafa12312fdsafd', 'safsadf'] --> 得到长度列表2.tp = ('TOM', 'Lilei ...
- 初学 Python(十二)——高阶函数
初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 ...
- python笔记十四(高阶函数——map/reduce、filter、sorted)
一.map/reduce 1.map() map(f,iterable),将一个iterable对象一次作用于函数f,并返回一个迭代器. >>> def f(x): #定义一个函数 ...
- python 高阶函数之filter
前文说到python高阶函数之map,相信大家对python中的高阶函数有所了解,此次继续分享python中的另一个高阶函数filter. 先看一下filter() 函数签名 >>> ...
- JS_高阶函数(filter)
//2017/7/18 //高阶函数:filter. //filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素.和map()类似,Array的filter()也接收一 ...
- 高阶函数-map/filter/reduce
什么样的函数叫高阶函数: 条件:1.函数接受函数作为参数 2.函数的返回值中包含函数 高阶函数之----map函数 map(func, *iterables) --> map objectnum ...
- python六十课——高阶函数之map
1.高阶函数: 特点:函数的形参位置必须接受一个函数对象 分类学习: 1).map(fn,lsd1,[lsd2...]): 参数一:fn --> 函数对象 参数二:lsd1 --> 序列对 ...
随机推荐
- 精读JavaScript模式(五),函数的回调、闭包与重写模式
一.前言 今天地铁上,看到很多拖着行李箱的路人,想回家了. 在上篇博客结尾,记录到了函数的几种创建方式,简单说了下创建差异,以及不同浏览器对于name属性的支持,这篇博客将从第四章函数的回调模式说起. ...
- [转]来扯点ionic3[2] 页面一线牵 珍惜这段缘
本文转自:https://www.jianshu.com/p/de40aeb3d371 往期传送门 来扯点ionic3[0] 吹完牛再入门也不迟 来扯点ionic3[1] 创建一个新页面 上一 ...
- .NET常用开发工具整理
版本控制和项目管理工具 VisualSVN和AnkhSVN:两款在Visual Studio中管理Subversion的插件.. NuGet和NuGetPackageExplorer:一组用于自动执行 ...
- 菜鸟入门【ASP.NET Core】11:应用Jwtbearer Authentication、生成jwt token
准备工作 用VSCode新建webapi项目JwtAuthSample,并打开所在文件夹项目 dotnet new webapi --name JwtAuthSample 编辑JwtAuthSampl ...
- Dependency Walker使用说明 转载
转载地址:http://blog.csdn.net/swort_177/article/details/5426848?reload 在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字 ...
- 基于Zookeeper的分布式锁
实现分布式锁目前有三种流行方案,分别为基于数据库.Redis.Zookeeper的方案,其中前两种方案网络上有很多资料可以参考,本文不做展开.我们来看下使用Zookeeper如何实现分布式锁. 什么是 ...
- Clock Pictures(kmp + Contest2075 - 湖南多校对抗赛(2015.04.26))
Problem H: Clock Pictures Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 73 Solved: 18[Submit][Stat ...
- fullScreen.html
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- CSS3属性-webkit-font-smoothing字体抗锯齿渲染
对字体进行抗锯齿渲染可以使字体看起来会更清晰舒服.在图标字体成为一种趋势的今天,抗锯齿渲染使用也越来越多. font-smoothing是非标准的CSS定义.它被列入标准规范的草案中,后由于某些原因从 ...
- jQuery中bind() live() delegate() on() 的区别
实例 bind(type,[data],fn) 为每个匹配元素的特定事件绑定事件处理函数 $("a").bind("click",function(){aler ...