python - 将列表的字符串元素转换为变量
问题描述
我有一个清单
v = ["a", "b", "c"]
我想变成
v = [a, b, c]
将条目用作变量。我知道不推荐使用 eval() 和 exec() 。我该如何解决呢?
解决方案
如果它是一个全局变量,你可以使用
v = [ globals()[i] for i in ['a', 'b', 'c'] ]
例如...
a = 1
b = 2
c = 3
v = [ globals()[i] for i in ['a','b','c'] ]
print(v)
>>>[1, 2, 3]
如果它是单独函数/类的代码块中的局部变量,则可以locals
改用。当然,正如评论中提到的,您首先应该不惜一切代价避免这种情况。