python常用函数2

2、reduce()函数

reduce() 函数也是python内置的一个高阶函数。reduce()函数接收的参数和 map()相似,一个函数   f ,一个list,但行为和  map()不同,reduce()传入的函数  f  必须接收两个参数,reduce()对list 的每个元素的反复调用函数 f ,并返回最终结果值。

例如,编写一个函数,接收x,y,返回x,y发和:

def f(x,y)

  return x+y

调用reduce(f,[2,6,9])时,reduce函数将做如下计算:

先计算头两个元素:f(2,6),结果为4;

再把结果第3个元素计算:f(4,9),结果为13;

上述计算实际上时对list 的所有元素求和。虽然python内置了求和函数sum() ,但是,利用reduce()  求和也很简单

reduce()还可以接收第3个可选参数,作为计算的初始值。如果把初始值为100.计算:

reduce(f,[2,6,9],100)

结果将变为113,因为第一轮计算时:

计算初始值和第一个元素:f(100,1),结果为101.

python内置了求和函数sun(),但没有求和的函数,请利用reduce()来求积:

输入: [2,4,5,7,12]

输出:2*4*7*12的结果

reduce()接收的函数f  需要两个参数,并返回一个结果,以便继续进行下一轮计算

如下:

猜你喜欢

转载自www.cnblogs.com/czb4256/p/11141226.html
今日推荐