python里,可以迭代的对象都可以通过一个函数式完成处理。比如map,filter。
reduce(函数, 可迭代对象, 初始值)
reduce可以对可迭代对象前后两个元素调用函数,并且再把返回的结果和下一个元素调用函数,以此类推。
http://docs.python.org/library/functions.html?highlight=reduce#reduce
比如:
a = [1,2,3,4,5,6,7,8,9]
print reduce(lambda x,y:x+y,a,0)
相当于调用了(((1+2)+3)+...),这样以前需要用for两行完成的功能可以一行就解决问题。