我是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)
是否可以通过某种方式解决此问题?
答案 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代码。
编辑:我太慢了,当我开始提问时,我的问题还没有得到答案。