python有很多内置函数,内置函数封装了很多功能,让我们用起来很方便,小猿圈针对高阶函数有详细的讲解视频,朋友们可以去看看,小编学后总结了一下,下面说一下filter和map高阶函数的用法。
1、filter()函数
filter函数接收两个参数,一个是函数,一个是序列。filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素,具有筛选的作用。
注意:3.x 返回的是一个filter object (后续的函数map也是返回object),要加上list()等类型转换;而之前 2.x 版本的返回值类型和参数sequence的类型相同。
实例:
def is_oushu(i): if(i%2==0): return True else: return False l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] l = filter(is_oushu, l) print(l) # 3.x 返回的是对象 filter object l = list(l) # 3.x 须做类型转换 print(l)
2、map函数
map()函数接收两个参数,一个是函数,一个是可迭代对象(Iterable),map将传入的函数依次作用到序列的每个元素,并把结果作为新的可迭代对象返回。
实例:
1 2 def sqr(i): 3 return i**2 4 l = [1,2,3] 5 l = map(sqr,l) 6 print(l) # 3.x 返回的是对象 map object 7 l = list(l) 8 print(l)
filter函数和map函数的用法是不是很简单,其实在实际应用中,这两个高阶函数的应用挺广泛的,想深入学习的小伙伴们,可以去小猿圈做做练习题,练习题有挺有意思的小游戏,做一下扩展。