我已经为变量赋值,并且我通过使用循环生成变量名。我想分配生成变量的实际值。如果我遵循以下方法,则分配字符串而不是值。
full_C3_sucess = 10
comp_Nonc3 = 100
for stage in ["C3", "Nonc3"]:
for dtype in ["full", "comp"]:
deployment = {}
format = dtype + "_" + stage
deployment['deployAttempted'] = format + "_sucess"
如果我打印deployment['deployAttempted']
,则表示字符串full_c3_sucess
而不是原始值。有人可以帮助我。
答案 0 :(得分:0)
你可以:
eval
:print eval(deployment['deployAttempted'])
,但这不是一个好习惯。locals()
或globals()
您可以在SO similar questions找到。通常,像Martijn Pieters评论的那样,字典是更好的选择:
mydict['full_c3_sucess'] = 10
...
print mydict[deployment['deployAttempted']]
答案 1 :(得分:-1)
您可以使用globals()
和locals()
按名称访问全局变量和本地变量:locals()[format + "_sucess"]
。