# -- coding: utf-8 -- #求1累加到100的和 list=xrange(1,101); def add(x,y): return x+y; print reduce(add,list) ''' reduce(function, iterable[, initializer]) 第一个参数是作用在序列上的方法,第二个参数是被作用的序列,这与 map 一致。另外有一个可选参数,是初始值。 function 需要是一个接收2个参数,并有返回值的函数。它会从序列 iterable 里从左到右依次取出元素, 进行计算。每次计算的结果,会作为下次计算的第一个参数。 提供初始值 initializer 时,它会作为第一次计算的第一个参数。否则,就先计算序列中的前两个值。 如果把刚才的 lst 换成 [1,2,3,4,5],那 reduce(add, lst) 就相当于 ((((1+2)+3)+4)+5)。 ''' #lamdba表达式 print reduce(lambda x,y:x+y,list)
reduce只是让代码简单化