python-听起来就很高级的高级函数

顾名思义,高级函数,肯定要有高级的功能才能称得上高级函数。那么接下来讲到的三个函数,是python中功能强大,使用简便的高级函数:map、filter、reduce

map:

将可迭代对象遍历,每个元素都使用该函数处理一遍,然后返回,保存这种算法的迭代器

#例子:给一个列表,返回这个列表中元素的平方
lt=[1,2,3,4,5,6,7,8]
ret=map(lambda s:s*s,lt)
print(list(ret))
        
#output:[1, 4, 9, 16, 25, 36, 49, 64]
filter

使用function依次作用于可迭代对象中的每个元素,当返回结果为True时保留该元素。
返回filter对象,是一个迭代器

#例子:找出列表中不能被2整除的数
lt=[1,2,3,4,5,6,7,8]
ret = filter(lambda x: x%2 != 0, lt)
print(list(ret))
#output:[1, 3, 5, 7]
reduce

首先从序列中取出前两个元素,作为function的参数处理一下, 处理完的结果与下一个元素再使用function处理一下
处理结果,将处理完的结果返回

#例子:将一下列表中的元素转换为12345
#用reduce之前需导入以下模块
from functools import reduce
lt=[1,2,3,4,5]
ret=reduce(lambda x,y:x*10+y,lt)
print(ret)
#output:12345

如果觉得上面的知识有用的话,点个赞再走吧 ( ̄▽ ̄)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值