①从参数方面来讲:

map()函数:

map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组)。其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数。

reduce()函数:

reduce() 第一个参数是函数,第二个是 序列(列表或元组)。但是,其函数必须接收两个参数。

②从对传进去的数值作用来讲:

map()是将传入的函数依次作用到序列的每个元素,每个元素都是独自被函数“作用”一次;(请看下面的栗子)

reduce()是将传人的函数作用在序列的第一个元素得到结果后,把这个结果继续与下一个元素作用(累积计算),

最终结果是所有的元素相互作用的结果。(请看下面的栗子)

举个栗子:

map()函数:

# 传入一个参数
def one_p(x):
return x * x
print 'map1.1:', map(one_p, range(1, 5))
#结果:map1.1: [1, 4, 9, 16]
print 'map1.2:', map(one_p, [1, 2, 3, 4, 5, 6])
#结果:map1.2: [1, 4, 9, 16, 25, 36] # 传入多个参数
a = [1, 2, 3, 4, 5]
b = [1, 1, 6, 2, 3]
c = [1, 2, 3, 4, 5]
s = map(lambda (x, y, z): x * y * z, zip(a, b, c))
print 'map2:', s
#结果:map2: [1, 4, 54, 32, 75]

  

第二个例子是1*1*1,2*1*2,3*6*3,4*2*4,5*3*5然后组成的列表

reduce()函数:

r1 = reduce(lambda x, y: x * y, (2, 2, 6, 2))  # 运算过程:(((2*2)*6)*2)
r2 = reduce(lambda x, y: x * y, (2, 2, 6), 2) # 运算过程:(((2*2)*6)*2) print 'r1:', r1 # 结果:r1: 48
print 'r2:', r2 # 结果:r2: 48

  

参考文档:https://www.cnblogs.com/jiafujun/p/7294332.html

Python中的map和reduce函数简介的更多相关文章

  1. Python 中的map、reduce函数用法

    #-*- coding:UTF-8 -*- #map()函数接受两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回 def f(x): retu ...

  2. Python自学笔记-map和reduce函数(来自廖雪峰的官网Python3)

    感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. Python内 ...

  3. python中的map、reduce、filter、sorted函数

    map.reduce.filter.sorted函数,这些函数都支持函数作为参数. map函数 map() 函数语法:map(function, iterable, ...) function -- ...

  4. Python 中的map和reduce学习笔记

    map和reduce都是Python中的内置函数 map函数接受两个参数,第一个参数是函数,第二个参数是列表,将函数依次作用于列表中的元素,并返回一个元素 reduce同样以函数和列表作为参数,区别在 ...

  5. 018.Python迭代器以及map和reduce函数

    一 迭代器 能被next进行调用,并且不断返回下一个值的对象 特征:迭代器会生成惰性序列,它通过计算把值依次的返回,一边循环一边计算而不是一次性得到所有数据 优点:需要数据的时候,一次取一个,可以大大 ...

  6. 07 Python中zip(),map(),filter(),reduce()用法

    一. zip() zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 ...

  7. Python中的map( )和reduce( )

      1.变量可以指向函数,也可以使用变量和参数的形式完成函数调用.   2.那么函数名是什么呢?函数名其实就是指向函数的变量!对于abs()这个函数,完全可以把函数名abs看成变量,它指向一个可以计算 ...

  8. Python中的Map/Reduce

    MapReduce是一种函数式编程模型,用于大规模数据集(大于1TB)的并行运算.概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数 ...

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

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

随机推荐

  1. 63. Unique Paths II(有障碍的路径 动态规划)

    Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m ...

  2. 后缀自动机模板 SAM

    一点疑问: 当创建nq节点时,要不要把nq的cnt标记赋值为1? 讲道理nq节点也是代表一个子串啊,不过网上的模板都没赋值. 2017.9.18 update: 把memset部分重写,改成用节点用到 ...

  3. Salesforce视图与控制器之间的交互

    刚接触Salesforce,过程的确是比较艰难了,中文资料几乎没有,看英文资料学的效率却不高,不过看了一段时间的英文资料发现自己英语水平挺高不少啊,现在看都不用工具翻译,早知道就再次尝试报个6级,看下 ...

  4. 性能测试Loadrunner与Mysql

    1.库文件下载地址:http://files.cnblogs.com/files/xiaoxitest/MySQL_LoadRunner_libraries.zip 分别库文件和代码添加到Loadru ...

  5. 如何做好Web接口测试

    说说我在测试接口时遇到的一些需要注意的点: 1.接口返回:数据格式是否与预期一致.例如:要求返回json格式的数据,json数据的key命名是否正确,对应的value是否与数据库一致.需要转换的数据是 ...

  6. 利用JS代码快速获得知网论文作为参考文献的引用文本

    写论文的时候,发现知网虽然提供了生成参考文献引用标注的功能,但是效率仍然不太高.我就忙里偷闲写了一段简单的脚本,能无延迟地生成这段引用文本.目前支持期刊论文和硕士论文. 代码: (function() ...

  7. python-静态方法staticmethod、类方法classmethod、属性方法property

    Python的方法主要有3个,即静态方法(staticmethod),类方法(classmethod)和实例方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 def  ...

  8. 特性(property)/静态方法(staticmethod)/类方法(classmethod)/__str__的用法

    property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 1 import math 2 class Circle: 3 def __init__(self,radius): #圆的 ...

  9. 让div水平垂直居中的几种方法

    最近,公司招了一批新人,吃饭的时候恰好碰到一个新同事,就跟他聊了起来.听他说了主管面试的时候出的一些问题,其中一个问题我印象特别深刻,因为,我当年进来的时候,也被问到这个问题.虽然这个问题已经问烂了, ...

  10. maven项目报Failed to read artifact descriptor

    公司私服是个垃圾,处理自定义的jar包外,没有提供到中央仓库的路由,以至于通过maven下载jar包是老是报错. 折腾好久,最后在maven的update project时勾选了force updat ...