reduce是functools模块中用于序列累积运算的函数,需传入二元函数、非空可迭代对象及可选初始值,如reduce(lambda x,y:x+y,[1,2,3,4])返回10。

reduce 是 Python 中用于对序列进行累积运算的函数,它把一个二元函数(接受两个参数)依次作用在序列元素上,不断“折叠”整个序列,最终得到一个单一结果。
它不在内置命名空间里,得从 functools 模块导入:
from functools import reduce调用形式是:reduce(函数, 序列[, 初始值])
lambda x, y: x + y 或 operator.add
✅ 求和:
立即学习“Python免费学习笔记(深入)”;
reduce(lambda x, y: x + y, [1, 2, 3, 4]) → 10(等价于 (((1+2)+3)+4))✅ 求积:
reduce(lambda x, y: x * y, [2, 3, 4]) → 24
✅ 带初始值(比如乘法默认值设为 1):
reduce(lambda x, y: x * y, [2, 3, 4], 1) → 24;空列表也不会报错:reduce(lambda x, y: x * y, [], 1) → 1
TypeError
sum()、max() 这类专用函数较劲——它们更清晰、更快、更安全reduce 更易读基本上就这些。用得少,但理解它有助于掌握函数式编程思想。
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号