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函数的区别。希望能对大家有所帮助哦~
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试