map() filter() reduce()

map() 函数
map(func, iterable, …)

在这里插入图片描述
lambda 匿名函数的使用
map() 函数的输出结果 是一个迭代器
可以使用 list 显示结果
但是迭代器的结果只能使用一次,再次输出就为空值了
如果需要多次使用可以将其使用list函数 赋值给一个变量

再看一个多个iterable的例子

在这里插入图片描述

filter() 函数
filter(func, iterable) 只接收两个参数,一个过滤函数,一个序列

filter() 函数将序列中的元素一个一个经过func 函数进行判断,返回True 或者False,然后再将返回True 的元素返回到一个新列表当中
值得注意的是:
filter(func, iterable) 等同于一个生成器表达式:
(item for item in iterable if func(item) is True)
如果func 是 None的话 等同于:
(item for item in iterable if item)

先自己写一个 even 函数
在这里插入图片描述
在这里插入图片描述
可以看到filter函数过滤掉了序列 aaaa 当中的奇数,留下了 偶数部分
再看看这个func 为空的情况
在这里插入图片描述
可以看到,他把0当作False
同样地,filter()函数返回的结果也是一个迭代器,需要使用list函数显示结果 并且其只能使用一次

reduce() 函数

reduce(func, iterable) 对参数序列当中的元素进行累积,返回函数计算结果
可参考这篇图文,画的很形象
reduce() 函数图文
一个简单的使用reduce函数进行累乘的例子
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值