【发布时间】:2019-06-24 11:04:39
【问题描述】:
我正在尝试将变量的名称提取为字符串。我已经定义了两个变量 CurrentField 和 PreviousField 并希望将这些名称提取为字符串以在我的代码中的其他地方使用。
CurrentField = ['One', 'Two']
PreviousField = ['One0', 'Two0']
def Updatedict(varname):
callers_local_vars = inspect.currentframe().f_back.f_locals.items()
stringvar = [k for k, v in callers_local_vars if v is varname][0]
return stringvar
listofvars = [CurrentField, PreviousField]
ParameterDict = [Updatedict(keyname) for keyname in listofvars]
ParameterDict
我得到的只是一个列表,上面写着 ['keyname','keyname'] 而我正在寻找的是 ['CurrentField','PreviousField']。
如何获得我想要的输出?
提前非常感谢。
【问题讨论】:
-
您可能会发现stackoverflow.com/questions/18425225/… 在这里很有用。底线是您实际上无法以编程方式获取大多数类型变量的变量名称。通常,当您看到有人试图查找变量名时,解决方案几乎总是他们应该改用字典。
标签: python string list dictionary list-comprehension