定义Python字典时,如何使用给定字段的值来计算其他字段?

2024-05-08

考虑代码

a = 2
b = 3
mylist = {'a' : a, 'b' : b, 'product' : a * b}

这会生成一个包含三个字段的字典,其中第三个字段是使用第一个和第二个字段的值计算的。我正在寻找更紧凑的定义mylist。我已经尝试过(1)

mylist = {'a' : 2, 'b' : 3, 'product' : a * b}

这给出了错误

NameError:名称“a”未定义

and (2)

mylist = {'a' : 2, 'b' : 3, 'product' : mylist['a'] * mylist['b']}

这给出了错误

NameError:名称“mylist”未定义

我想找到一个更短的形式(1)的命令,因为您不需要提及字典的名称。也许存在类似的东西currentdictionary['a']?


在这种情况下,我会使用类似计算属性的东西。当你需要它时,它会懒惰地评估该属性;在通话时间。比将产品作为键值对进行主动管理要强大得多。

class Pair(object):
    def __init__(self, a, b):
        self.a = a
        self.b = b

    @property
    def product(self):
        return self.a * self.b

示例输出:

>>> Pair(2, 3).product
6

在这里使用字典是可能的,但让我觉得这是一个硬塞的解决方案,(1)您需要检查查找时是否存在键并且(2)还应该保持同步产品a or b change.

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

定义Python字典时,如何使用给定字段的值来计算其他字段? 的相关文章

  • 如何将base64字符串直接解码为二进制音频格式

    音频文件通过 API 发送给我们 该文件是 Base64 编码的 PCM 格式 我需要将其转换为 PCM 然后再转换为 WAV 进行处理 我能够使用以下代码解码 gt 保存到 pcm gt 从 pcm 读取 gt 保存为 wav decod
  • PyQt:如何通过匿名代理使用网页

    这真让我抓狂 我想在 QWebPage 中显示一个 url 但我想通过匿名代理来实现 Code setting up the proxy proxy QNetworkProxy proxy setHostName 189 75 98 199
  • 从Python中的字符串中提取货币金额

    我正在制作一个程序 从字符串中获取货币并将其转换为其他货币 例如 如果字符串是 the car cost me 13 250 我需要得到 and 13250 我已经有了这个正则表达式 1 确实如此 但是该字符串很有可能有多个价格 并且全部使
  • Python有条件求解时滞微分方程

    我在用dde23 of pydelay包来求解延迟微分方程 我的问题 如何有条件地编写方程 例如目标方程有两个选项 when x gt 1 dx dt 0 25 x t tau 1 0 pow x t tau 10 0 0 1 x othe
  • for 循环如何评估其参数

    我的问题很简单 Does a for循环评估它每次使用的参数 Such as for i in range 300 python 是否会为此循环的每次迭代创建一个包含 300 个项目的列表 如果是的话 这是避免这种情况的方法吗 lst ra
  • 如何使用显式引用转储 YAML?

    递归引用非常适合ruamel yaml or pyyaml ruamel yaml dump ruamel yaml load A A id001 id001 然而 它 显然 不适用于普通引用 ruamel yaml dump ruamel
  • TF map_fn 或 while_loop 用于不同形状的张量列表

    我想处理不同形状的张量序列 列表 并输出另一个张量列表 考虑每个时间戳上具有不同隐藏状态大小的 RNN 就像是 输入 tf ones 1 2 2 tf ones 2 2 3 tf ones 3 2 1 输出 tf zeros 1 2 4 t
  • 登录网站并使用 python 请求下载文件

    我有一个带有 HTML 表单的网站 登录后 它会将我带到 start php 站点 然后将我重定向到overview php 我想从该服务器下载文件 当我单击 ZIP 文件的下载链接时 链接后面的地址是 getimage php path
  • python 中的 Johansen 协整检验

    我找不到任何有关在处理统计和时间序列分析 pandas 和 statsmodel 的 Python 模块中执行 Johansen 协整检验的功能的参考 有谁知道是否有一些代码可以执行时间序列之间的协整测试 现在 这已在 Python 的 s
  • 使用 scipy curve_fit 拟合噪声指数的建议?

    我正在尝试拟合通常按以下方式建模的数据 def fit eq x a b c d e return a 1 np exp x b c np exp x d e x np arange 0 100 0 001 y fit eq x 1 1 1
  • 动态 __init_subclass__ 方法的参数绑定

    我正在尝试让类装饰器工作 装饰器会添加一个 init subclass 方法到它所应用的类 但是 当该方法动态添加到类中时 第一个参数不会绑定到子类对象 为什么会发生这种情况 举个例子 这是可行的 下面的静态代码是我试图最终得到的示例 cl
  • 在Python中计算内存碎片

    我有一个长时间运行的进程 不断分配和释放对象 尽管正在释放对象 但 RSS 内存使用量会随着时间的推移而增加 如何计算发生了多少碎片 一种可能性是计算 RSS sum of allocations 并将其作为指标 即便如此 我该如何计算分母
  • django-admin.py makemessages 不起作用

    我正在尝试翻译一个字符串 load i18n trans Well Hello there how are you to Hola amigo que tal 我的 settings py 文件有这样的内容 LOCALE PATHS os
  • Pandas style.bar 颜色基于条件?

    如何渲染其中一列的 Pandas dfstyle bar color属性是根据某些条件计算的 Example df style bar subset before after color ff781c vmin 0 0 vmax 1 0 而
  • 将文本注释到轴并对齐为圆

    我正在尝试在轴上绘制文本并将该文本与圆对齐 更准确地说 有一些具有不同坐标 x y 的点位于该圆内 并使用以下命令创建 ax scatter x y s 100 我想用圆圈连接并标记每个点 Cnameb 文本的坐标由 xp yp 定义 因此
  • 无法在 python 3.8 上将带有 webapp 的 python 部署到 azure

    我正在尝试使用部署一个测试项目Flask使用以下方法将框架迁移到 Azure 云中Azure CLI https learn microsoft com en us azure app service containers quicksta
  • 如何使用 Keras ImageDataGenerator 预测单个图像?

    我已经训练 CNN 对图像进行 3 类分类 在训练模型时 我使用 keras 的 ImageDataGenerator 类对图像应用预处理功能并重新缩放它 现在我的网络在测试集上训练得非常准确 但我不知道如何在单图像预测上应用预处理功能 如
  • 处理大文件的最快方法?

    我有多个 3 GB 制表符分隔文件 每个文件中有 2000 万行 所有行都必须独立处理 任何两行之间没有关系 我的问题是 什么会更快 逐行阅读 with open as infile for line in infile 将文件分块读入内存
  • Python:高精度time.sleep

    你能告诉我如何在 Win32 和 Linux 上的 Python 2 6 中获得高精度睡眠函数吗 您可以在中使用浮点数sleep http docs python org library time html time sleep 该参数可以
  • 如何获取所有mysql元组结果并转换为json

    我能够从表中获取单个数据 但是当我试图获取表上的所有数据时 我只得到一行 cnn execute sql rows cnn fetchall column t 0 for t in cnn description for row in ro

随机推荐

  • 与 data.table 合并时防止重复列

    我有两个数据表 它们的列名部分相似 dfA lt read table text A B C D E F G iso year matchcode 1 0 1 1 1 0 1 0 NLD 2010 NLD2010 2 1 0 0 0 1 0
  • bash双括号问题

    我对 bash 脚本非常陌生 在使用双括号时遇到了问题 我似乎无法让它们在 Ubuntu Server 11 10 中工作 我的下面的脚本位于 if test sh 中 bin bash if 14 14 then echo FOO fi
  • Podman:如何解析使用 Kubernetes YAML 部署的 pod 的主机名

    我正在使用 podman 4 5 dev 我使用以下方式部署了两个 Pod podman kube 播放 foo yaml podman kube play bar yaml 我在文件中指定了 pod 的主机名 但它们不会在容器内得到解析
  • 返回没有属性名称的 Json 结果

    很可能是一个相当微不足道的问题 但我就是找不到合适的答案 我想返回一个 JsonResult 但实际结果没有任何属性名称 这是我想要实现的一个小例子 xbox Xbox 360 Xbox cheats Xbox 360 games The
  • 压缩 HList 的函数的推断类型

    谢谢https github com milessabin shapeless wiki Feature overview shapeless 2 0 0 https github com milessabin shapeless wiki
  • 用强/弱自我打破保留周期

    我读过关于强 弱的帖子self打破保留周期 但我仍然对它们如何工作感到困惑 我理解使用 weak typeof self weakSelf self创建对自我的弱引用 但我对强引用感到困惑 据我了解 强引用是指对self这样它就不会在块结束
  • jquery javascript 在 codeigniter 中不起作用

    大家好 感恩节快乐 我在将此脚本包含在 codeigniter 中时遇到一些问题
  • Visual Studio 2013 未发现单元测试

    我在 Visual Studio 2013 中有一个简单的解决方案 它由一个 Web 项目 一个库项目和一个单元测试项目组成 当我打开解决方案并尝试运行单元测试时 Visual Studio 不会发现它们 要运行测试 我尝试转到菜单并选择
  • 为什么使用react-native-tab-view在react native无限滚动中滚动条位于顶部

    我在用着反应本机选项卡视图 https github com react native community react native tab view在我的应用程序中 我有 2 个选项卡 我正在加载Tab通过 API 调用数据 用于在侧面创
  • 如何查找另一列的不同行中具有多个值的列值的总长度

    有没有办法找到同时有Apple和Strawberry的ID 然后求总长度 和只有苹果的ID 和只有草莓的IDS df ID Fruit 0 ABC Apple lt ABC has Apple and Strawberry 1 ABC St
  • Kotlin 1.6.0 的 proguard / R8 删除了数据类元数据

    我有一个包含一些数据类的包 我尝试使用 Kotlin 反射在运行时访问构造函数clazz primaryConstructor 一切都按预期工作 但是当我启用 R8 时 数据类元数据被删除 例如当我检查是否KClass isData它返回
  • UWP 应用中的设备 ID(阈值 1)

    在 Phone 8 1 中 您可以使用以下方式获取设备 ID硬件识别 https stackoverflow com questions 23321484 device unique id in windows phone 8 1 2332
  • 如何在 MySQL 中存储工作日列表?

    我正在使用编写一个应用程序PHP我需要存储一个独特的工作日列表MySQL 在应用程序中 我有一个数组来存储工作日 如下所示 days Wed Thu Sat 我知道我可以使用SET列 但我不想使用这种类型 因为它与我正在使用的框架 Lara
  • JavaScript 中最大长度的正则表达式

    如何限制与正则表达式匹配的字符串的长度 我假设var sixCharsRegEx 6 7 只匹配长度为 6 或 7 的字符串 but no http jsfiddle net FEXbB http jsfiddle net FEXbB 我缺
  • 如何将 OpenSSL 与 WinSock 一起使用?

    我在网上搜索过 但没有找到任何与此相关的内容 有谁有使用 WinSock 和 OpenSSL 的简单代码示例吗 我正在寻找一个简单的 Visual C 2005 或更高版本的代码示例 它创建并打开一个 Winsock 连接 并使用 Open
  • 我如何在 LibGDX 应用程序中找到软键盘的高度

    我正在开发一个Android游戏与LibGDX 我需要找到用户正在使用的软键盘的高度 因为我想在键盘正上方显示一些对象 我读过这个帖子 如何获取 Android 上的软键盘高度 https stackoverflow com questio
  • 将所有 Docker Swarm 节点作为管理器运行的优点和缺点?

    我正在考虑构建一个 Docker Swarm 集群 为了保持事情既简单又相对容错 我考虑简单地运行 3 个节点作为管理器 不使用任何专用工作节点时有哪些权衡 有什么我应该注意但可能不明显的事情吗 我找到了这个Github问题 https g
  • UISlider最大值调整

    我有三个滑块 这些显示了我需要的不同元素的百分比 所有元素的最大值是 100 a b c 100 现在这些都相互依赖并有助于制作饼图 目前都可以设置为最大值 100 如何从逻辑上使这种依赖性和最大值成为可能 提前致谢 在处理滑块更改的方法中
  • 如何从字典列表中查找键的值?

    如何从字典列表中获取给定键的值 mylist powerpoint color blue client name Sport Parents Regrouped sort order ascending chart layout 1 cha
  • 定义Python字典时,如何使用给定字段的值来计算其他字段?

    考虑代码 a 2 b 3 mylist a a b b product a b 这会生成一个包含三个字段的字典 其中第三个字段是使用第一个和第二个字段的值计算的 我正在寻找更紧凑的定义mylist 我已经尝试过 1 mylist a 2 b