将字符串转换为变量引用

2024-04-18 07:41:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串列表:

A = ['a', 'b', 'c', 'd']

我想要一个变量引用列表:

B = [a, b, c, d]

我该怎么做?你知道吗

编辑1:

我有

df_wgt_dict["Freq"+vars_dict['varName'+str(I)]]

这里我从1到4。你知道吗

我想要一份如下的清单:

[df_wgt_dict["Freq"+vars_dict['varName'+str(1)],df_wgt_dict["Freq"+vars_dict['varName'+str(2)],df_wgt_dict["Freq"+vars_dict['varName'+str(3)],df_wgt_dict["Freq"+vars_dict['varName'+str(4)]]

Tags: 字符串编辑df列表varsdictfreqstr
2条回答
A = ['a', 'b', 'c', 'd']
B = []
for s in A:
    temp_storage = exec('%s = %d' % (s, my_value))
    B.append(temp_storage)

这将用变量而不是字符串更改列表B中的列表A

你不能直接这么做。但是,如果要对这些变量执行某些操作,仍然可以使用关键字^{}或函数^{}。这是两个不同的东西,产生不同的结果,但在这里你可以使用上或其他没有问题。你知道吗

例如,这将打印5

a = 5
exec 'print a'

做你想做的事的简单技巧:

a = 5
b = 6
c = 2
d = 3

L = ['a', 'b', 'c', 'd']  # the input list

M = list()  # the result list
for e in L:
    exec 'M.append('+e+')'  # or eval('M.append('+e+')')
print M

这将打印

[5, 6, 2, 3]

NB:这不会创建变量引用列表,而是在调用时创建变量值列表。如果需要更新值,则必须再次调用它。

相关问题 更多 >