微信平台与微网站开发,商贸城网站建设方案,wordpress统计访客,商城网站建站方案reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map()类似#xff0c;一个函数 f#xff0c;一个list#xff0c;但行为和 map()不同#xff0c;reduce()传入的函数 f 必须接收两个参数#xff0c;reduce()对list的每个元素反复调用函数f#xff0…reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map()类似一个函数 f一个list但行为和 map()不同reduce()传入的函数 f 必须接收两个参数reduce()对list的每个元素反复调用函数f并返回最终结果值。
例如编写一个f函数接收x和y返回x和y的和
def f(x, y):
return x y
调用 reduce(f, [1, 3, 5, 7, 9])时reduce函数将做如下计算
先计算头两个元素f(1, 3)结果为4
再把结果和第3个元素计算f(4, 5)结果为9
再把结果和第4个元素计算f(9, 7)结果为16
再把结果和第5个元素计算f(16, 9)结果为25
由于没有更多的元素了计算结束返回结果25。
上述计算实际上是对 list 的所有元素求和。虽然Python内置了求和函数sum()但是利用reduce()求和也很简单。
reduce()还可以接收第3个可选参数作为计算的初始值。如果把初始值设为100计算
reduce(f, [1, 3, 5, 7, 9], 100)
结果将变为125因为第一轮计算是
计算初始值和第一个元素f(100, 1)结果为101。