从变量获取变量的名称

时间:2020-05-22 09:39:41

标签: python list variables

我是Python新手,最近遇到了一个无法解决的问题。问题是,我有一个包含元素的列表和一个包含此字符串形式的名称的变量。看起来像这样(我使用python 3.7):

my_list = ['a', 'b', 'c', 'd']
var1 = 'my_list'

我的目标是使用for循环遍历此列表,而不在命令中使用此列表的名称,而仅使用变量的值(即列表的名称)。我试图简单地使用var1作为列表本身,但是,当然,它没有成功:

my_list = ['a', 'b', 'c', 'd']
var1 = 'my_list'

for item in var1:
    print(item)

是否可以通过某种方式解决此问题?

2 个答案:

答案 0 :(得分:-1)

您正在为新变量分配一个字符串值,该变量将始终返回表示my_list的纯文本,您需要删除其周围的撇号。它应该看起来像这样:-

var1 = my_list

如果要将其保留为字符串,则可以使用名为eval

的方法

它看起来像这样:-

for i in eval(var1):

答案 1 :(得分:-2)

您可以为此使用eval函数:

my_list = ['a', 'b', 'c', 'd']
var1 = 'my_list'

for item in eval(var1):
    print(item)

eval函数将给定的参数评估为Python代码。

编辑:我太慢了,当我开始提问时,我的问题还没有得到答案。

相关问题