Python reduce()
1. 描述
reduce()
对参数序列中元素进行累积。
函数将一个数据集合(元组、列表等)中的所有数据进行下列操作:对集合中的第1、2个元素进行function(两个参数)运算,得到的结果再与第3个元素进行 function() 运算。
Python3 reduce()
被移到 functools 模块。
from functools import reduce
2. 语法
reduce(function, iterable[, initializer])
参数
- function:函数(两个参数)
- iterable:可迭代对象
- initializer:可选,初始参数
返回值
函数计算结果。
3. 实例
① 元组、列表里的数累加。
from functools import reduce
def add(x, y):
return x+y
sum1 = reduce(add, (1, 2 ,3 ,4 ,5))
sum2 = reduce(lambda x, y: x+y, [1, 2, 3 ,4 ,5])
print(sum1)
print(sum2)
15
15
② 列表拼成整数。
from functools import reduce
a = reduce(lambda x, y: x*10 + y, [1, 2, 3, 4, 5]) # 10+2=12 12*10+3=123 123*10+4=1234 1234*10+5=12345
b = reduce(lambda x, y: x + y*10, [1, 2, 3, 4, 5]) # 1+2*10=21 21+3*10=51 51+4*10=91 91+5*10=141
print(a)
print(b)
12345
141