【发布时间】:2019-10-03 17:34:14
【问题描述】:
我想建立一个字典,将变量分配给一个键,并且我希望在变量发生变化时改变键。我了解,当您为字典、列表或变量赋值时,它会保留该值而不是确切的代码。我该如何解决这个问题? (这是 Python 2,如果您无法通过 print 函数周围的括号来判断的话。)
我尝试使用下面的代码来更改字典中的键,当它不起作用时,我在谷歌上搜索了如何解决这个问题。 Stack Overflow 是我最后的选择。
var = 7
dictionary = {
"Var": var
}
var += 3
print var
print dictionary["Var"]
我希望输出是
10
10
但是,它会输出
10
7
这意味着var 发生了变化,但dictionary["Var"] 没有。
【问题讨论】:
-
听起来像一个廉价的面纱围绕一个可变的全球。我可以说你不应该这样做吗?显式传递字典,直接在字典本身上进行变异,例如
dictionary["Var"] += 3。 -
在这段代码中,这似乎是最好的选择,但这只是一个例子。在我的主要代码中,这不是一个真正的选择。我需要一种能够同时更改变量和键值的方法。
-
如果主代码在你的控制之下,听起来是时候重构了。你真的不需要这样做。
标签: python string dictionary