最近在看reduce函数的时候,发现已经不能直接使用了,需要从functools模块导入
from functools import reduce
reduce(function, iterable[, initializer])
- function – 函数,有两个参数
- iterable – 可迭代对象
- initializer – 可选,初始参数
发现一个例子使用reduce函数更好用
比如 ,用一行代码写出20以内的和等于多少?
例如: 1+2+3+4+5+6+…+20 = ?
如果使用reduce的话, 用一行代码可以实现 >_<
from functools import reduce;print(reduce(lambda a, b: f'{a}+{b}', [i for i in range(1, 21)]) + "=" + str(reduce(lambda a, b: a+b, [i for i in range(1, 21)])))
执行结果:
1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20=210