减少()有什么问题?

2023-12-04

关于Python 3.0中reduce()函数的变化以及如何删除它,网上似乎有很多激烈的讨论。我有点难以理解为什么会出现这种情况;我发现在各种情况下使用它是相当合理的。如果这种蔑视只是主观的,我无法想象会有这么多人关心它。

我缺少什么?减少()有什么问题?


正如吉多在他的书中所说Python 3000中reduce()的命运 post:

所以现在减少()。这实际上是我一直最讨厌的,因为除了一些涉及 + 或 * 的例子之外,几乎每次我看到带有非平凡函数参数的 reduce() 调用时,我都需要拿起笔和纸来在我理解 reduce() 应该做什么之前,先画出实际输入到该函数中的内容。因此,在我看来,reduce() 的适用性几乎仅限于关联运算符,在所有其他情况下,最好明确地写出累积循环。

有一个令人困惑的绝佳例子reduce in the 函数式编程指南文章:

快点,下面的代码在做什么?

total = reduce(lambda a, b: (0, a[1] + b[1]), items)[1]

你可以弄清楚,但是需要时间来理清表达式才能弄清楚 这是怎么回事。使用简短的嵌套 def 语句会让事情变得更好一些:

def combine (a, b):
    return 0, a[1] + b[1]

total = reduce(combine, items)[1]

但如果我只使用 for 循环那就最好了:

total = 0
for a, b in items:
    total += b

或者内置的 sum() 和生成器表达式:

total = sum(b for a,b in items)

当编写为 for 循环时,reduce() 的许多用法会更加清晰。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

减少()有什么问题? 的相关文章

  • 学习Python中的解析器

    我记得我读过有关解析器的内容 您只需提供一些示例行 它就知道如何解析某些文本 它只是确定两条线之间的差异 以了解可变部分是什么 我以为它是用 python 写的 但我不确定 有谁知道那是什么图书馆吗 可能你的意思是模板制作器 http co
  • 如何在Python + Selenium中获取元素的值

    我在我的 Python 3 6 3 代码中得到了这个 HTML 元素 作为 Selenium网页元素当然 span class ocenaCzastkowa masterTooltip style color 000000 alt 5 sp
  • 我可以同时打开两个 Tkinter Windows 吗?

    可以同时打开2个窗口吗 import tkinter as Tk import random import math root Tk Tk canvas Tk Canvas root background image Tk PhotoIma
  • 获取字符串模板中所有标识符列表的函数(Python)

    对于标准库string template在Python中 有没有一个函数可以获取所有标识符的列表 例如 使用以下 xml 文件
  • 在多核上运行 python 线程

    我知道Python 2 7不允许在不同的内核上运行多个线程 你需要使用multiprocessing模块以实现某种程度的并发性 我正在看concurrent futuresPython 3 4 中的模块 是否使用ThreadPoolExec
  • pandas 数据框的最大大小

    我正在尝试使用读取一个有点大的数据集pandas read csv or read stata功能 但我不断遇到Memory Errors 数据帧的最大大小是多少 我的理解是 只要数据适合内存 数据帧就应该没问题 这对我来说不应该是问题 还
  • 对法语文本进行词形还原[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一些法语文本需要以某种方式进行处理 为此 我需要 首先 将文本标记为单词 然后对这些单词进行词形还原以避免多次处理相同的词根 据我
  • lmfit模型拟合然后预测

    我正在领养lmfit进行曲线拟合并使用拟合模型进行预测 然而下面的代码并没有达到我想要的效果 能否请你帮忙 谢谢 import numpy as np from lmfit import Model def linearModel x a0
  • 如何在Python中手动对数字列表进行排序?

    规格 Ubuntu 13 04 Python 3 3 1 背景 Python的初学者 遇到了这个 手动排序 问题 我被要求做的事情 让用户输入 3 个数值并将它们存储在 3 个不同的变量中 不使用列表或排序算法 手动将这 3 个数字从小到大
  • 使用 python 从 CSV 创建字典

    我有一个 CSV 格式的文件 其中 A B 和 C 是标题 我如何以Python方式将此CSV转换为以下形式的字典 A 1 B 4 C 7 A 2 B 5 C 8 A 3 B 6 C 9 到目前为止我正在尝试以下代码 import csv
  • Python 3 - 如何将 tkinter 进度条与 bat 文件一起使用?

    到目前为止 蝙蝠运行了 但进度条没有运行 我如何将两者联系起来 这是输出的图像 https i stack imgur com ytZ6F jpg https i stack imgur com ytZ6F jpg from tkinter
  • Kivy TextInput 水平和垂直对齐(文本居中)

    如何在 Kivy 的 TextInput 中水平居中文本 I have the following screen But I want to centralize my text like this 这是我的 kv 语言的一部分 BoxLa
  • 解析整数集的字符串并列出间隔

    I have 2 5 7 9 12 string 我想从中获取 2 5 7 8 9 12 列表 python中有没有内置的函数 Thanks UPD 我想 直接的答案是No 不管怎样 谢谢你的 片段 使用一个 建议者斯文 马尔纳克 s 2
  • 在 4K 屏幕上使用 Matplotlib 和 TKAgg 或 Qt5Agg 后端

    我在 Ubuntu 16 04 上使用 Matplotlib 2 0 和 Python 3 6 来创建数据图 电脑显示器的分辨率为 4k 分辨率为 3840x2160 绘图数字看起来非常小 字体也很小 我已经尝试过TKAgg and Qt5
  • 为什么我会在 Python 字符串格式中使用除 %r 之外的其他内容?

    我偶尔会使用 Python 字符串格式 这可以像这样完成 print int i Float f String s 54 34 434 some text 但是 这也可以这样做 print int r Float r String r 54
  • python 中的 F 字符串前缀给出语法错误[重复]

    这个问题在这里已经有答案了 我有一个名为 method 的变量 它的值是 POST 但是当我尝试运行时print f method method is used 它不断在最后一个双引号处给出语法错误 我找不到它这样做的原因 我正在使用 py
  • 如何使用 python 模块的多个 git 分支?

    我想使用 git 来同时处理我正在编写的模块中的多个功能 我目前正在使用 SVN 只有一个工作区 因此我的 PYTHONPATH 上只有该工作区 我意识到这不太理想 所以我想知道是否有人可以建议一种更 正确 的方法来做到这一点 让我用一个假
  • 为数据集生成随机 JSON 结构排列

    我想生成 JSON 结构的许多不同排列作为同一数据集的表示 最好不需要对实现进行硬编码 例如 给定以下 JSON name smith occupation agent enemy humanity nemesis neo 应该产生许多不同
  • 将函数按元素应用于两个 DataFrame

    如何应用函数z ij f x ij y ij 来自数据框X and Y相同大小并将结果保存到 DataFrameZ 这取决于你有什么样的功能 很多功能已经被矢量化为数据框 例如 等等 所以对于这些功能 你可以简单地做Z X Y or Z X
  • 如何使用 keras.backend.gradients() 获取梯度值

    我试图获得 Keras 模型的输出相对于模型输入 x 而不是权重 的导数 似乎最简单的方法是使用 keras backend 中的 梯度 它返回梯度张量 https keras io backend https keras io backe

随机推荐

  • Tensorflow 对象检测在启动前被终止

    我正在运行 docker image tensorflow 1 1 0 我通过在本地克隆并为我的 docker 提供到该文件夹 的连接来添加tensorflow对象检测api github 我正在尝试重现他们的宠物例子 我相信我的所有代码和
  • Array.map + parseInt [重复]

    这个问题在这里已经有答案了 var timeSplit timeCaption innerText trim split 将产生一个数组 10 00 18 00 var startStr timeSplit 0 split 将产生一个数组
  • 如何从服务器异步检索图像

    我有一个NSMutableArray带有一些图像网址 图像的大小在 12KB 到 6MB 之间 我用AsycImageView类并实现 但是当大图像下载应用程序崩溃时 我在该类中为 maxsize 指定了 6 1024 1024 6MB 将
  • Woocommerce - 如果购物车中有特定变体,则隐藏付款方式

    在 Woocommerce 中 如果购物车中有特定产品变体 我想隐藏信用卡付款选项 请帮忙 Thanks 这就是我现在的工作 我为每个变体分配了一个单独的运输类别 我想在结帐时禁用特定的付款方式 但如果我可以定位特定的属性值 那就容易多了
  • 泽西岛的 GZip 编码

    我正在 Jersey 2 中编写 RESTful Web 服务 我想支持响应的 Gzip 编码 下列的这个答案 我启用了org glassfish jersey server filter EncodingFilter in my Reso
  • $展开空数组

    我有一个用户集合 其中每个文档都具有以下结构 id
  • 在快照视图中查找文件的本地副本

    我在一个工具中使用 ClearCase Automation Library CAL 它可以帮助我跟踪未集成的更改 现在我想扩展该工具 这样我也可以通过它进行签到 对于此功能 我需要找到快照视图的本地副本 虽然我可以询问 CC 哪个视图附加
  • .NET 的免费 UML 绘图库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在寻找一个免费的 NET C 库 我可以在我的程序中使用它并简单地绘制 UML 图 尤其是类图 我尝试使用 Netron 图表库 但它有点棘手
  • 尝试从私有 ECR 中提取图像时出现“没有基本身份验证凭据”

    我的 Dockerfile 中间有以下行 用于从我的私有 ECR 检索图像 FROM dkr ecr ap southeast 1 amazonaws com prod ff03401 这是我在尝试构建此代码时在 AWS Codebuild
  • 如何查找链接的标题文本

    如何在 jquery 中找到链接的标题文本 您可以使用attr找到title属性 var title jQuery a attr title replace a with your own selector
  • EF Core - System.InvalidOperationException:ExecuteReader 需要打开且可用的连接。连接的当前状态已关闭

    我正在使用 Entity Framework Core 运行 ASP NET Core 1 0 Web 应用程序 当应用程序运行一段时间 24 48 小时 时 应用程序在对任何端点或静态资源的每个请求上开始崩溃 并引发错误System In
  • 复制范围,包括粘贴到 Outlook 电子邮件正文时的格式

    我已经搜索了这个问题 但仍然没有得到它的确切代码 我需要将数据透视表的颜色从 Excel 复制到 Outlook 主体 运行代码时 我得到了格式 但唯一的问题是表格的颜色变成了黑色和灰色 请帮助我弄清楚如何放置我需要的确切颜色 这是我的代码
  • 包括 Google 字体链接或导入?

    在页面上包含 Google 字体的首选方式是什么 Via the tag 通过样式表中的导入 import url https fonts googleapis com css2 famil
  • 按列快速串联数千个文件

    我在用R使用以下命令绑定约 11000 个文件 dat lt do call bind cols lapply lfiles read delim 这慢得令人难以置信 我使用 R 是因为我的下游处理 例如创建绘图等 是在 R 中进行的 按列
  • WCF VS.旧版 ASP.Net Web 服务 [重复]

    这个问题在这里已经有答案了 可能的重复 Web 服务 WCF 与标准 谁能给我推荐一些文档来描述为什么 WCF 比旧版 ASP NET Web 服务更好 我对性能和安全性特别感兴趣 WCF 更加灵活 可以通过 HTTP 使用 如旧版 ASM
  • TypeError:“int”类型的对象没有 len() 需要错误帮助[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我正在为我的代码编写一段代码 当用户输入 7 位数字时 它会将这些数字分别乘以 3 和 1 这是代码 当它检查用户是否输入了 7 位数字时 出现以下错误 类型错误 int 类型的对象没有
  • 使用 Bouncy Castle c# 创建 CRL 文件

    我已经使用 Bouncy Castle 构建了自己的根 CA 证书 并使用它来构建其他证书 我想使用 Bouncy Castle C 构建一个证书吊销列表 CRL 以包含已吊销的证书列表 例子 Retrieve CA root certif
  • 多项式函数的 LinEst vba

    我正在尝试使用 vba 计算多项式回归 首先 我尝试了 y x 2 b OUTPUT WorksheetFunction Application LinEst A Application Power C 2 True True 其中 A 和
  • 显示:弯曲和图像大小调整/居中

    我在用display flex 使图像居中并max width max height来调整它的大小 其中有几张图像 有些宽 有些高 有些正方形 我想确保它们的尺寸都足够大以供查看 例如 我假设如果图像达到最大宽度而不是高度 则它应该与宽度保
  • 减少()有什么问题?

    关于Python 3 0中reduce 函数的变化以及如何删除它 网上似乎有很多激烈的讨论 我有点难以理解为什么会出现这种情况 我发现在各种情况下使用它是相当合理的 如果这种蔑视只是主观的 我无法想象会有这么多人关心它 我缺少什么 减少 有