Python3中reduce和lambda的用法

reduce() 函数将一个数据集合(iterable[, initializer]可以看出是包含了初始化数据的,且初始化数据位列第1位,即集合中的第1个元素)中的所有数据进行下列操作:先对集合中的第 1、2 个元素进行function函数运算,得到的结果再与第3个元素进行function 函数运算,依次类推,最后得到一个结果。    lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。    在python 3之前的版本可以不用写from functools import reduce。 在python 3以后, reduce已经不在built-in function里了, 要用它就得from functools import reduce。   示例: from functools import reduce   a=reduce(lambda x,y:x*y,[1,2,3],5) print(a) 运算过程是: 5*1=5  5*2=10  10*3=30   from functools import reduce a=reduce(lambda x,y:x+y**2,[1,2,3],3) print(a) 运算过程是: 3+1*1=4   4+2*2=8  8+3*3=17   from functools import reduce a=reduce(lambda x,y:x*2+y*3,[4,6],3) print(a) 运算过程是: 3*2+4*3=18 18*2+6*3=54     如果单独使用lambda,示例: MAXIMUM = lambda x,y :  (x > y) * x + (x < y) * y MINIMUM = lambda x,y :  (x > y) * y + (x < y) * x a = 10 b = 20 c = 30 print 'The largar one is %d' % MAXIMUM(a,b,c) print 'The lower one is %d' % MINIMUM(a,b,c)
上一篇:用一行代码写出1+2+3+10248的和


下一篇:python中的reduce函数