25 Python常用函数——reduce()

在 Python 3.x 中,reduce() 不是内置函数,而是放到了标准库 functools 中,需要先导入再使用。

标准库 functools 中的函数 reduce() 可以将一个接受两个参数的函数以迭代累积的方式从左到右依次作用到一个序列或迭代器对象的所有元素上,并且允许指定一个初始值。

cpp 复制代码
from functools import reduce

# 计算过程为 ((((1+2)+3)+4)+5)
print(reduce(lambda i, j: i + j, [1, 2, 3, 4, 5]))


def get(x, y):
    return x + y


print(reduce(get, list(range(10))))
print(reduce(get, range(10)))  # 可以不用转换为列表
print(reduce(lambda i, j: i + j, range(10)))  # 使用 lambda 表达式实现相同功能

import operator  # 保准库 operator 提供了大量运算

print(operator.add(128, 64))  # 可以像普通函数一样直接调用

print(reduce(operator.add, range(10)))
print(reduce(operator.mul, range(1, 10)))  # 乘法运算
print(reduce(operator.add, range(10), 5))  # 指定累加的初始值为5
print([reduce(operator.add, map(str, range(10)))])  # 转换成字符串再累加
print([''.join(map(str, range(10)))])  # 使用join方法实现字符串连接
print(reduce(operator.add, [[1, 2], [3], []], ['@']))  # 这个操作占用空间较大,慎用
相关推荐
小雅痞3 分钟前
[Java][Leetcode hard] 42. 接雨水
java·开发语言·leetcode
We་ct7 分钟前
AI辅助开发术语体系深度剖析
开发语言·前端·人工智能·ai·ai编程
t***5448 分钟前
Dev-C++中哪些选项可以设置
开发语言·c++
FreakStudio11 分钟前
MicroPython对接大模型:uopenai + 火山方舟实现文字聊天和图片理解
python·单片机·ai·嵌入式·面向对象·电子diy
Kimliao16615 分钟前
TFT-LCD液晶显示模组常见驱动电压的作用
python
輕華16 分钟前
PyQt5入门实战:安装、QtDesigner设计与PyUIC转换完整指南
开发语言·qt
qq_2069013917 分钟前
CSS如何引入自适应图标_利用svg外链配合css控制颜色
jvm·数据库·python
weixin_4087177725 分钟前
Go语言怎么编译Linux程序_Go语言编译Linux可执行文件教程【避坑】
jvm·数据库·python
麻辣璐璐34 分钟前
EditText属性运用之适配RTL语言和LTR语言的输入习惯
android·xml·java·开发语言·安卓
2501_944934731 小时前
财务岗位如何在工作中提升数据分析能力?从财务分析到经营分析这样练
python·信息可视化·数据分析