可以先google一篇论文:MapReduce: SImplified Data Processing on Large Clusters

1. map

map()函数接收2个参数:一个是函数,一个是可迭代对象iterable。map将传入的函数依次作用到序列的每个元素,并把结果作为新的iterator返回。

由于iterator是惰性的,因此使用map时通常都在最后通过list()函数把整个序列计算出来并返回一个list。

如: r = map(f, [1,2,3])

list(r)

2. reduce

reduce一个函数作用到一个序列[x1, x2, x3, …],这个函数必须接收2个参数,reduce把结果继续和序列的下一个元素做累计计算,效果就是:

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

reduce实际上有3个参数,第三个参数是可选的。当使用第三个参数时,reduce会把第三个参数放到第二个参数的前面。表达式如下:

def reduce(function, iterable, initializer=None):
it = iter(iterable)
if initializer is None:
value = next(it)
else:
value = initializer
for element in it:
value = function(value, element)
return value

Python: map和reduce的更多相关文章

  1. Python map,filter,reduce函数

    # -*- coding:utf-8 -*- #定义一个自己的map函数list_list = [1,2,4,8,16] def my_map(func,iterable): my_list = [] ...

  2. python Map()和reduce()函数

    Map()和reduce()函数 map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函 ...

  3. python map filter reduce的优化使用

    这篇讲下python中map.filter.reduce三个内置函数的使用方式,以及优化方法. map()函数 map()函数会根据提供的函数对指定序列做映射. 语法: map(function,it ...

  4. Python: map() and reduce()

    map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. 举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个lis ...

  5. python map函数 reduce函数

    Python中map()函数浅析 函数式编程: 更好的描述问题 map函数 怎么理解当传入多个参数list时,map如何运作:    abc函数第一次传入的数据时 (11,44,77),然后(22,5 ...

  6. 计算机基础,Python - Map和Reduce

    例子1. python中实现hashable def __hash__(self): hashes = map(hash, self.components) return functools.redu ...

  7. Python map filter reduce enumerate zip 的用法

    map map(func, list) 把list中的数字,一个一个运用到func中,常和lambda一起用. nums = [1, 2, 3, 4, 5] [*map(lambda x: x**2, ...

  8. python map() filter() reduce()函数的用法以及实例

    map() 看一下我的终端咋说: map()的函数用法: map(function, iterable, ...) 看一下具体例子: 注意的是一定要强制转化一下才能输出 也可以写匿名函数: (mark ...

  9. python常用函数进阶(2)之map,filter,reduce,zip

    Basic Python : Map, Filter, Reduce, Zip 1-Map() 1.1 Syntax # fun : a function applying to the iterab ...

随机推荐

  1. 国内pypi镜像

    V2EX pypi.v2ex.com/simple 豆瓣 http://pypi.douban.com/simple 阿里云(推荐使用) http://mirrors.aliyun.com/pypi/ ...

  2. PyUnit (unittest) 的用法

    PyUnit(unittest) 是 Python 自带的单元测试框架,用于编写和运行可重复的测试.PyUnit 是 xUnit 体系的一个成员,xUnit 是众多测试框架的总称,PyUnit 主要用 ...

  3. ubuntu安装WPS替代office

    安装 1.下载地址:http://community.wps.cn/download/(去WPS官网下载) 下载第一个即可 2.执行安装命令: sudo dpkg -i wps-office_10.1 ...

  4. windows7远程连接服务器出现身份验证错误,又找不到加密Oracle修正

    把以下内容复制到文本中, Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Cur ...

  5. 小程序学习三 一切的开始app() 小程序的注册

    现在打开 app.js //app.js App({ onLaunch(options) { //小程序初始化 // console.log("小程序初始化", options) ...

  6. 使用js 判断当前运行环境实在浏览器还是在手机

    转: 在跨平台,各种浏览器,移动设备兼容的时候,经常要根据设备.浏览器做特定调整,所以判断设备和浏览器的工作,经常会用到,这里做一下总结. 有关浏览器类型的信息都藏在USER-AGENT里面,首先读取 ...

  7. js用正则判断身份证号码

    在用户注册或修改信息时会用到正则表达式判断身份证号,直接调用该函数即可 //判断身份证号码 function idCardFn(idCard){ }(||)?\d{}([-]|[])([-]|[]\d ...

  8. Eclipse+Marven + spring mvc 新建一个 Hello world 项目

    1. 打开Eclipse,菜单 File->New->Marven Project.               2. 点击 Next,                3. 选择 marv ...

  9. Jmeter-【JSON Extractor】-响应结果中三级key取值

    一.请求返回样式 二.取第三个option 三.查看结果

  10. ubuntu 16.04 jdk-8u201-linux-x64.tar.gz 安装部署

    都是在普通用户加sudo代替root 1.sudo tar -zxvf jdk-8u201-linux-x64.tar.gz2.sudo chown make:make jdk1.8.0/3.sudo ...