Python reduce() function
reduce() in Python
- 第一步,选取序列的前两个元素,得到结果。
- 下一步是将相同的函数应用于先前得到的结果和第二个元素后面的数字,然后再次存储结果。
- 此过程将继续进行,直到容器中不再剩下任何元素。
- 最终返回的结果被返回并打印在控制台上。
Example 1: 求list元素的和
import functools
lis = [1, 3, 5, 6, 2,]
print(functools.reduce(lambda a, b: a+b, lis))
print(functools.reduce(lambda a, b: a if a > b else b, lis))
Example 2: 求list中最大值
import functools
lis = [1, 3, 5, 6, 2,]
print(functools.reduce(lambda a, b: a if a > b else b, lis))
Example 3: 结合operator函数
import functools
import operator
lis = [1, 3, 5, 6, 2, ]
# 求 list 和
print(functools.reduce(operator.add, lis))
# 求 list 乘
print(functools.reduce(operator.mul, lis))
# 字符串拼接
print(functools.reduce(operator.add, ["geeks", "for", "geeks"]))
reduce()和 accumulate 的区别
reduce()存储中间结果,只返回最终的求和值。然而,accumulate()返回一个包含中间结果的迭代器。迭代器返回的最后一个数字是列表的总和。
import itertools
print(list(itertools.accumulate(lis, lambda x, y: x+y)))
# 输出结果
[1, 4, 9, 15, 17]
参考:
不要小瞧女程序员
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
2019-07-20 19. slot插槽传递模板
2019-07-20 18. VUE created 方法作用
2019-07-20 17. Vue2.4+新增属性$listeners
2019-07-20 16. Vue2.4+新增属性$attrs
2019-07-20 1. HTML <fieldset> 标签
2019-07-20 15. Vue2.4+新增属性.sync
2019-07-20 14. VUE 子组件修改父组件的值