在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 functools 模块里,如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数:from functools import reduce
描述:
reduce() 函数会对参数序列中元素进行累积。
函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。语法reduce(function, iterable[, initializer])
参数function -- 函数,有两个参数
iterable -- 可迭代对象
initializer -- 可选,初始参数
返回值返回函数计算结果。
1.计算列表的累加和
我们来分析下reduce()函数是怎么作用于列表的。
listData=[1,2,3,4,5,6,7,8,9,10]
def GetSum(x,y):
return x+y
reduce(GetSum, listData)
计算头两个:GetSum(1, 2),结果3;
传入结果:GetSum(3, 3),结果6;
传入结果:GetSum(6, 4),结果10;
传入结果:GetSum(10, 5),结果15;
传入结果:GetSum(15, 6),结果21;
传入结果:GetSum(21, 7),结果28;
传入结果:GetSum(28, 8),结果36;
传入结果:GetSum(36, 9),结果45;
传入结果:GetSum(45, 10),结果55;
2.reduce()函数可以有第三个参数,第三个参数为初始值
留言与评论(共有 0 条评论) |