这三个内嵌函数還是十分有效的 ,工作中用的还许多,随手,下边一一开展详细介绍

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中的原素自乘以后再求和

文章来源于网络 ,如有侵权请联系站长QQ61910465删除
本文版权归趣快排www.sEoguruBlog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ✈61910465