一文看懂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中的元素实现累加计算,并返回单一结果。

示例:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

底层研究生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值