python进阶(一) | map、filter与reduce

本文深入探讨了Python中的高阶函数map、reduce和filter的使用方法及原理,通过实例展示了如何利用这些函数处理序列数据,实现数据转换、累积计算和过滤操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1  map 

map(func,iterable)函数接收两个参数:一个是函数,一个是iterable( 列表,字符串 等 )作用:map将传入的函数依次作用于序列的每个元素,返回一个新的序列 

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

就是把可迭代对象的每个元素,一次作为参数传递到函数中。最终将结果以列表的形式输出

1.2   reduce 

这个函数的运行是一个累积的过程。reduce(func,iterable) 就是先在可迭代的对象中取前两个元素,作为参数由func进行计算,得到一个结果;然后再在可迭代对象中取第三个元素  和 刚才的计算结果 共同作为参数传递给func 进行计算,得到一个新结果;在取第四个元素和 这个新结果再进行func运算...直到取完所有元素为止。下例子为累乘。

ret = reduce(lambda x, y: x * y, [1, 2, 3, 4, 5, 6])
print(ret)

结果:720

先1*2 = 2, 再把2*3=6  再 6 * 4 =24 。。。。。。

1.3  filter 

filter(func,iterable)用于过滤,就是把可迭代对象中的每个元素,使用func进行校验,把不满足条件的过滤掉。原则上func只返回True或者flase即可,python中非0 非空 也可表示true也可。下例为过滤掉偶数:

ret = filter(lambda x:x%2,[1,2,3,4,5,6,7])
print(ret)

结果:[1, 3, 5, 7]

过程:1 传入func中,返回1。true,保留。2传入func,返回0, flase,去除。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值