Python内置高阶函数用法总结

函数是Python的核心内容之一,能够提高代码的重复利用率。为了更好的使用函数,有必要了解函数的一些高级用法。

Python内置了三个高阶函数:所谓高阶函数就是以函数作为参数,或者返回一个函数的函数,这样的都成为高阶函数。

三个高阶函数:

一、map(f,sq)函数:

参数:

f:是一个函数

sq:是一个可迭代的对象,可以是list、字符串等。

作用:将函数f作用到sq的每一个元素上。

等价于:f(x) for x in sq

解释:map不会改变原有sq,而是会返回一个新的迭代器对象,也可以说是返回了一个map对象。

示例:

而将其转为list时,才会被正常输出。

二、filter(f,sq)函数 :

参数:

f:是一个函数

sq:是一个可迭代的对象,可以是list、字符串等。

作用:通过函数f来筛选sq中的元素。

等价于:x  for  x  in  sq  if  f(x) 

解释:filter不会改变原有序列,而是返回一个新的迭代器对象。filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用list()函数获得所有结果并返回list。

示例:

三、reduce(f,sq,init)函数:

参数:

f:一个支持二元操作的函数

sq:一个可迭代的序列

init:初始化值

作用:接受的是一个支持二元操作的函数f(x,y),实现对序列sq中的元素实现累加计算,并返回单一结果。

示例:

猜你喜欢

转载自blog.csdn.net/dongjinkun/article/details/84483215