python3中使用map,reduce和filter

    前两天突然用到了python3的map,reduce函数,按照之前python2的方式使用,结果发现结果并不是自己想要的,查询了资料之后才发现原来map,reduce和filter三个函数在python3和python2中发生了较大的差异。

首先,在类型上,python3中三者是class,返回结果变成了可迭代的对象,在交互式环境下可以看到:


而在python2中,三者是内置函数,即<build-in function>。

在python3中,得到map(或者filter,reduce)的结果,可以通过如下迭代方式:

     

或者直接将结果变为list,如下:

最后需要说明的是reduce函数在python3中已经不属于build-in了,而是在functools模块下,如需使用,需要从functools模块中引入。


注:正在学习python中,还是小白,如果有误,敬请见谅并指导

PythonMapReduce模型filtermapreduce操作分别如下: 1. filter操作: filter操作会对输入数据进行筛选,只保留符合条件的数据。在MapReduce模型filter操作通常在映射(Map)阶段完成。在映射阶段,可以对输入数据进行筛选,只保留符合条件的数据,并将它们转换为键值对(key-value pairs),以便后续的归约(Reduce)操作处理。 2. map操作: map操作会对输入数据进行转换,生成新的数据集合。在MapReduce模型map操作通常在映射(Map)阶段完成。在映射阶段,可以对输入数据进行转换,将它们转换为一系列的键值对。这些键值对是归约任务所需的间结果。 3. reduce操作: reduce操作会对输入数据进行聚合,生成最终的结果。在MapReduce模型reduce操作通常在归约(Reduce)阶段完成。在归约阶段,将相同键的值合并为一个结果。最终的结果就是reduce操作生成的结果。 在Python,可以使用以下函数来实现MapReducefiltermapreduce操作: 1. filter操作: 可以使用Python内置函数filter()来实现filter操作。filter()函数会对一个序列进行过滤,返回符合条件的元素组成的序列。 2. map操作: 可以使用Python内置函数map()来实现map操作。map()函数会对一个序列进行映射,返回一个新的序列。在MapReduce模型,可以使用map()函数将输入数据转换为一系列的键值对。 3. reduce操作: 可以使用Python内置函数reduce()来实现reduce操作。reduce()函数会对一个序列进行聚合,返回一个单一的值。在MapReduce模型,可以使用reduce()函数将相同键的值合并为一个结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值