【问题标题】:Is it possible to change the value of a key in a dictionary in a similar way an excel sheet would do?是否可以以类似于 Excel 工作表的方式更改字典中键的值?
【发布时间】:2020-12-19 02:55:32
【问题描述】:

我有一本像这样的字典:

d_1 = {
    "k1":{
        "a":0.215,
        "b":350
    },
    "k2":{
        "a":1.0125,
        "b":1.1802
    }
}

我想创建第二个字典来存储 0.215/1.0125 的结果,存储在 k1k2 字典的 a 键中,但我希望以与 Excel 表相同的方式更新值.

为了说明这一点,假设您有单元格A1 = 0.215 和单元格B1 = 1.0125。那么单元格C1 将是A1/B1。如果更新A1B1C1 的值会自动更新。

有没有办法创建第二个字典 d_2 哪个键存储 d_1["k1"]["a"]/d_1["k2"]["a"] 的结果并动态更新结果,就像 excel 示例一样?如果不可能,我能做的最接近的事情是什么?


编辑:

我正在寻找的所需解决方案类似于拥有d_1 部分的浅拷贝,例如d_1["k1"]["a"]/d_1["k2"]["a"]。我知道,如果我有两个字典,一个是另一个的副本,如果我更改第一个字典中一个 key-value 对的值,第二个字典也应该更改。要获得第一个字典的“硬”副本,应使用deepcopy

像字典的浅拷贝但应用数学运算的东西可以完成还是不可能?

【问题讨论】:

    标签: python-3.x dictionary


    【解决方案1】:

    根据我的经验,自动更新值有点困难,如果你想设置一个监听器来知道你是否更改了字典 k1 中的 a 或 k2 字典中的 b 的值

    对于“如何监听字典中的值变化”,我可能会建议您以下答案question here

    变量存储在内存中,因此要检测值的变化,您需要一个侦听器来比较旧字典和新字典

    【讨论】:

    • 您好,谢谢您的回答。我更多的是寻找价值的自动更新,而不是倾听价值的变化。我也编辑了这个问题,所以请看一下:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 2014-09-13
    相关资源
    最近更新 更多