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

75 阅读1分钟

python有很多内置函数,内置函数封装了很多功能,让我们用起来很方便,小猿圈针对高阶函数有详细的讲解视频,朋友们可以去看看,小编学后总结了一下,下面说一下filter和map高阶函数的用法。


1、filter()函数

filter函数接收两个参数,一个是函数,一个是序列。filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素,具有筛选的作用。

注意:3.x 返回的是一个filter object (后续的函数map也是返回object),要加上list()等类型转换;而之前 2.x 版本的返回值类型和参数sequence的类型相同。

实例:

1

2 def is_oushu(i):

3 if(i%2==0):

4 return True

5 else:

6 return False

7 l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

8 l = filter(is_oushu, l)

9 print(l) # 3.x 返回的是对象 filter object

10 l = list(l) # 3.x 须做类型转换

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