我给一个变量分配了一个值,并使用循环生成变量名。我想分配生成变量的实际值。如果我遵循下面的方法,它将指定字符串而不是值。你知道吗
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
,而不是原始值。有人能帮帮我吗。你知道吗
你可以:
eval
:print eval(deployment['deployAttempted'])
但这不是一个好的做法。你知道吗locals()
或globals()
你可以在SOsimilarquestions上找到。通常,就像Martijn Pieters评论的那样,字典是更好的选择:
您可以使用
globals()
和locals()
按名称访问全局和局部变量:locals()[format + "_sucess"]
。你知道吗相关问题 更多 >
编程相关推荐