• 技术文章 >Python技术 >Python基础教程

    python中reduce函数和map函数的区别有哪些?

    宋雪维宋雪维2020-12-10 16:31:20原创1984

    在python中,如果我们想要查找某一项内容,可是页面代码过多,这时我们会依靠索引来查找,也就是依靠序列来查找,我们可以通过序列通过索引得到python中的每一个元素。之前小编向大家介绍了序列中的reduce函数和map函数(https://www.py.cn/jishu/jichu/21819.htmlhttps://www.py.cn/jishu/jichu/21821.html),他们都有共同的参数functools,他们之前有什么具体的区别吗?本文小编就向大家总结python中reduce函数和map函数的区别。

    1、描述

    map是python内置函数,会根据提供的函数对指定的序列做映射。

    redece是python中内置函数,会对参数序列中元素进行累计。

    2、参数

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

    reduce(function, sequence[, initial])中function是函数,function序列(列表或元组)。但是,其函数必须接收两个参数。

    3、返回值

    map()是对一个向量/矩阵中每个元素同时进行某一操作返回值与原向量维度相同。

    reduce()是对向量/矩阵一个序列中的元素依次进行某一操作,返回一个数值。

    4、传进去的数值作用

    map()是将传入的函数依次作用到序列的每个元素,每个元素都是独自被函数“作用”一次。

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

    5、使用

    map()

    将iterables中的每个值带入到func函数中执行,返回一个map对象。

    a = [1, 2, -3, 2, -5, -9, 6]
    b = map(abs, a)
    print(list(b))

    输出

    [1, 2, 3, 2, 5, 9, 6]

    reduce()

    将序列的每个值带入到function中与前面的执行结果执行函数操作。

    from functools import reduce
    
    a = [1, 2, 3, 4, 5]
    b = reduce(lambda x, y: x+y, a, 10)
    print(b)

    输出

    25

    以上就是通过描述、参数、返回值、传进去的数值作用和具体使用方面向大家总结reduce函数和map函数的区别。希望能对大家有所帮助哦~

    专题推荐:pythonreduce函数map函数
    品易云
    上一篇:类继承如何在python面向对象中实现?有什么好处? 下一篇:python面向对象中多态的使用前提是什么?

    相关文章推荐

    • python中type函数的功能• python如何合并多个excel单元格?• python Loguru模块安装使用• python中的reduce函数是如何使用的?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网