首先看reduce函数的官方解释(python2):
reduce(...)
reduce(function, sequence[, initial]) -> value
Apply a function of two arguments cumulatively to the items of a sequence,
from left to right, so as to reduce the sequence to a single value.
For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates
((((1+2)+3)+4)+5). If initial is present, it is placed before the items
of the sequence in the calculation, and serves as a default when the
sequence is empty.
可以看到,reduce函数就像字面意思一样,可以把一个序列通过某种方式(function)转变成一个值。
语法:接收两个参数,第一个参数是function,需要接收两个参数,第二个参数为一个序列
reduce(function, sequence[, initial])
实践:
或者也可以用lambda表达式来简写:
不过在python3中,reduce不能直接使用,而是要从functools中导入: