小猿圈python之高阶函数filter和map的用法

时间:2022-02-27 10:47:44

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函数的用法是不是很简单,其实在实际应用中,这两个高阶函数的应用挺广泛的,想深入学习的小伙伴们,可以去小猿圈做做练习题,练习题有挺有意思的小游戏,做一下扩展。