Python中的reduce

xiaoxiao2021-02-28  90

Python中的reduce    python中的reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一个二元操作函数)先对集合中的第1,2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果。 如:     def myadd(x,y):           return x+y       sum=reduce(myadd,(1,2,3,4,5,6,7))       print sum   #结果就是输出1+2+3+4+5+6+7的结果即28 当然,也可以用lambda的方法,更为简单:     sum=reduce(lambda x,y:x+y,(1,2,3,4,5,6,7))       print sum 

 

在python 3.0.0.0以后, reduce已经不在built-in function里了, 要用它就得from functools import reduce.

意思就是对sequence连续使用function, 如果不给出initial, 则第一次调用传递sequence的两个元素, 以后把前一次调用的结果和sequence的下一个元素传递给function. 如果给出initial, 则第一次传递initial和sequence的第一个元素给function.

1 2 3 4 5 6 7 from functools import reduce  reduce ( lambda x,y: x + y, [ 1 , 2 , 3 ])  输出 6  reduce ( lambda x, y: x + y, [ 1 , 2 , 3 ], 9 )  输出 15  reduce ( lambda x,y: x + y, [ 1 , 2 , 3 ], 7 )  输出 13 
转载请注明原文地址: https://www.6miu.com/read-55174.html

最新回复(0)