这三个内嵌函数還是十分有效的 ,工作中用的还许多,随手,下边一一开展详细介绍
1、filter
英语的语法:
filter(function,iterable)
表述:把迭代器根据function函数开展过虑出要想的数据信息
用法:能够设定一个迭代器 ,随后把同样特性的原素滤出,以下所显示
list1 = [1,2,3,4,5,6,7,8,9,10] listTemp = filter(lambda x:x%2==0,list1)
上边的意思是过虑出双数(即被2整除的数),在其中应用了匿名函数lambda ,十分简单 ,自然大家还可以自身顶一个函数来完成
此外在
python2.*版本中是立即回到list的,但在
python3.*中是回到一个迭代器
2 、map
英语的语法:
map(function,*iterable)
表述:把迭代器(或好几个迭代器)根据function函数获得結果
用法:能够设定一个或好几个迭代器,随后把同样部位(假如为好几个迭代器)的原素根据function函数获得最后結果 ,以下所显示:
#Python学习培训交流群:778463939 #一个迭代器 list1 = [1,2,3,4,5,6,7,8,9] listTemp = map(lambda x:x*x,list1) #好几个迭代器 list2 = [11,12,13] list3 = [21,22,23,24,25] listTemp = map(lambda x,y,z:x y z,list1,list2,list3)
好几个迭代器的情况下,是对后边全部的迭代器开展解决(lambda函数的主要参数数量务必和后边迭代器的数量一致),这儿大家又应用了匿名函数lambda
同filter一样 ,在
python2.*版本中是立即回到list的,但在
python3.*中是回到一个迭代器
3、reduce
英语的语法:reduce(function,iterable)
表述:把迭代器根据function开展积累测算
用法:function务必包括两个主要参数,第一个主要参数表明初值 ,第二个主要参数表明迭代器的每一个原素,以下:
list1 = [1,2,3,4,5] listTemp = reduce(lambda x,y:x y*y,list1) print(listTemp)
根据print能够看得出应用的是
python3.*,这儿要留意的是 ,reduce函数在
3.*版本里边早已挪动到functools里边
这儿大家再度应用了lambda匿名函数,十分功能强大,函数式意思是把list1中的原素自乘以后再求和