gpt4 book ai didi

python - 如何在列表理解中将变量的名称提取为字符串?

转载 作者:行者123 更新时间:2023-11-28 22:12:51 25 4
gpt4 key购买 nike

我正在尝试将变量名称提取为字符串。我定义了两个变量 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']。

如何获得我想要的输出?

非常感谢。

最佳答案

你的循环有什么问题,试试这个(根据 F string prefix in python giving a syntax error 适用于 Python 3.6):


In [23]: my_dict = {}
...: i = 0
...: for var in listofvars:
...: my_dict.update({f"var_{i}":Updatedict(var)[0]})
...: i += 1

In [24]: my_dict
Out[24]: {'var_0': 'CurrentField', 'var_1': 'PreviousField'}

作为旁注,函数应该是小写的,变量名也是如此,大写是 python 类

关于python - 如何在列表理解中将变量的名称提取为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54452916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com