python 高级函数

python高级函数(一)

高级函数就是一个函数可以接收另一个函数作为参数。

reduce 函数

reduce函数在python3里放在了functools模块里,所以使用前要先导入

from functools import reduce

reduce有三个参数

1.function:必须参数,带有2个参数的函数
2.sequence:序列(必须参数,可迭代对象)
3.initial:可选参数,初始值

reduce工作过程

在迭代sequence的过程中,将遍历的前2个元素传给function,经过function处理之后返回的结果和sequence的第三个元素,再传给function处理,返回的结果和sequence的第四个元素再传给function以此类推,,,如果传入了 initial 值, 那么首先传的就不是 sequence 的第一个和第二个元素,而是 initial值和 第一个元素。经过这样的累计计算之后合并序列到一个单一返回值

res = reduce(lambda x,y:x+y,[1,2,3,4])
print(res) #10

res = reduce(lambda x,y:x+y,[1,2,3,4],5)
print(res) #15

map函数

接收一个函数function 和一个 list,并通过把函数 function 依次作用在 list 的每个元素上,得到一个新的 list 并返回

res = map(lambda x:x+1,[1,2,3])
print(list(res)) #[2,3,4]

filter函数

接收一个函数function 和一个list,这个function 的作用是对list的每个元素进行判断,返回True或False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

res = filter(lambda x:x>7,[1,2,8,9])
print(list(res)) #[8,9]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值