首页 > 解决方案 > 将列表的字符串元素转换为变量

问题描述

我有一个清单

v = ["a", "b", "c"]

我想变成

v = [a, b, c]

将条目用作变量。我知道不推荐使用 eval() 和 exec() 。我该如何解决呢?

标签: pythonstringlistvariables

解决方案


如果它是一个全局变量,你可以使用

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改用。当然,正如评论中提到的,您首先应该不惜一切代价避免这种情况。


推荐阅读