【发布时间】:2014-04-23 11:40:53
【问题描述】:
我的想法是这样的:
dict1 = {key1:3, key2:5, key3:key1+key2}
# so key3 relate to the value: 8 (3+5)
dict1.update({key2:6})
# key3 will now relate to the value: 9 (3+6)
我试图避免更新不必要的条目,并基于在比较关系值时已经在一系列查找和更新中计算的值构建新的键值关系。字典的哈希性对于让我在查找时或多或少保持恒定时间至关重要。
【问题讨论】:
-
您的意思是,您想动态更新
key3的值?你的意思是dict1[key1] + dict1[key2],不是吗? -
没有这样的方式。对于一般情况,您需要构建一个依赖图并使用
lambdas 或带有 dict 子类的东西来在另一个值更改时重新计算所有依赖值。这就像电子表格软件所做的那样。 -
还可以查看 dict
viewobjects。我看不出如何将它们应用于您的要求,但也许您会找到一种方法:docs.python.org/2.7/library/… -
如果你愿意,你可以构建所有这些机器,但你需要的不仅仅是一个普通的字典,而且语法可能会变得很麻烦。
标签: python dictionary dependencies key-value