• map :不改变原始序列的规模;
  • reduce:将序列映射为一个标量;

0. 简介

map(func, *iterables) --> map object
reduce(function, sequence[, initial]) -> value
  • (0)想要使用 reduce 函数,需要 from functools import reduce

  • (1)map 的返回值是一个 map object,而 reduce 的返回值是一个值;

  • (2)map 迭代式地处理(使用func)可迭代序列中的每一个值,要求 func 只可接收一个参数,每一次调用 func 之间没有关系;

  • (3)而 reduce 而迭代式从序列中取出两个值,并将结果累计;

    reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) ⇒ ((((1+2)+3)+4)+5).
    

2. 距离

  • 计算内积

    def inner_prod(x, y):return reduce(operator.add, map(lambda x: x[0]*x[1], zip(x, y)))
    
  • 计算方差

    def var(x):mu = sum(x)/float(len(x))return reduce(operator.add, map(lambda x: (x-mu)**2, x))/float(x)
    
  • 根据概率分布计算信息熵

    def calcEnt(x):return reduce(operator.add, map(lambda x: -x*math.log(x, 2), x))
    

3. map 处理多元函数

可变长度的参数列表(第一个参数除外的后续参数)的长度就表示多元参数为几元函数,如下例的二元函数。

map(lambda x, y: x**2+y**2, [3, 6], [4, 8])# 25, 100

Python 进阶 —— 使用 map reduce相关推荐

  1. Python高级函数--map/reduce

    名字开头大写 后面小写:练习: 1 def normalize(name): 2 return name[0].upper() + name[1:].lower() 3 L1 = ['adam', ' ...

  2. Python函数式编程-map/reduce

    1.map map()传入的第一个参数是f,即函数对象本身. map()函数接收两个参数,一个是函数,一个是Interable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterat ...

  3. Python基础(map/reduce)

    from functools import reduce#reduce函数在python3的内建函数移除了,放入了functools模块 #map() list1 = [1,2,3,4,5,6,7,8 ...

  4. python进阶(小白也能看懂)——Map、Filter、Reduce

    python进阶(小白也能看懂)--Map.Filter.Reduce 第三篇 Map.Filter.Reduce是python中常用的函数,使用这些函数能够给我们带来很多便捷. Map map(fu ...

  5. Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊...

    函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计 ...

  6. Python 进阶之路 (五) map, filter, reduce, zip 一网打尽

    简洁的内置函数 大家好,我又回来了,今天我想和大家分享的是Python非常重要的几个内置函数:map,filter,reduce, zip. 它们都是处理序列的便捷函数.这很大程度上归功于函数式编程的 ...

  7. python 高级使用实例_Python中的高级函数map/reduce使用实例

    怎么用Python写mapreduce,请举例说明,初学者,请1.lambda # 匿名函数# 基本用法 lambda x: x**2 # 第一个参数,然后是表达式# 也可以使用如下(lambda x ...

  8. Python中的map()函数和reduce()函数的用法

    Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下  

  9. Python函数式编程——map()、reduce()

    提起map和reduce想必大家并不陌生,Google公司2003年提出了一个名为MapReduce的编程模型[1],用于处理大规模海量数据,并在之后广泛的应用于Google的各项应用中,2006年A ...

最新文章

  1. 四种方法解决最大连续子序列和问题
  2. 这款PDF阅读器1秒定位论文公式变量,不同页图文也能同屏看,刷论文再也不用来回翻页看文找图了! | 开源...
  3. easypoi导出excel不设置样式_EasyExcel为单个Cell设置样式
  4. OpenGL中的轨迹球问题
  5. C指针原理(5)-ATT汇编
  6. 增加mysql的最大连接数
  7. 大家来聊聊如何PASS 360
  8. docker-compose命令介绍和使用【官方英文文档翻译】【附加案例】
  9. 人脸识别中Softmax-based Loss的演化史
  10. java程序员内功_Java程序员如何成为内功深厚的架构师
  11. Java高并发编程之第一阶段,多线程基础深入浅出
  12. 上课解除教师机控制(红蜘蛛)超详细
  13. c语言ascii码表6,C语言附录ASCII码表
  14. python破解加密压缩包
  15. 腾讯视频qlv格式转换mp4普通视频方法
  16. scrapy 爬取大型图片网站(http://5442.com/)
  17. linux poodle漏洞,Claws Mail 3.11.0发布 修复了POODLE 漏洞
  18. Qt中绘制五子棋棋盘
  19. 降噪耳机哪款好?综合表现不错的降噪蓝牙耳机推荐
  20. ide模式ahci模式_IDE的完整形式是什么?

热门文章

  1. 每天Leetcode 刷题 初级算法篇-颠倒二进制位
  2. latex 中表格怎么指定编号_在医学论文中,应用表格怎么用才是正确的?
  3. python中pass的使用_Python中pass语句的作用
  4. win7录屏_win7系统自带的录屏工具你用过吗?
  5. 网络 TCP的头部 3次握手和4次挥手 出现大量TIME_WAIT或CLOSE_WAIT的原因及解决办法
  6. 剑指offer面试题55 - I. 二叉树的深度(DFS)(递归)
  7. 机器学习之监督学习(五)——集成学习
  8. OpenCV探索之路(六):图像变换——霍夫变换
  9. OpenGL+VS2013环境配置
  10. u-boot之autoconf.mk解析