如何使用变量的内容创建新列表?
编辑:为了澄清,我应该在运行后有3个新列表。我应该有一个名为dev,test和prod的列表。
#!/usr/bin/python
group_list = ['dev', 'test', 'prod']
for group in group_list:
# this is obviously going to create a new list called group
# i want to create a list using the contents of the "group" variable
group = []
答案 0 :(得分:1)
有几种不同的方法可以做到这一点,但最简单的方法是使用字典。
group_dict = {group: [] for group in group_list}
这将为您留下字典
{
'dev': [],
'test': [],
'prod': []
}
可让您在处理它时访问所有方便的pythonic工具。 (迭代等)
答案 1 :(得分:0)
这是不推荐,无论你想做什么可能更好的方法,但这是如何将字符串转换为变量名称:
#!/usr/bin/python
group_list = ['dev', 'test', 'prod']
for group in group_list:
globals()[group] = []
print(dev) # -> []
# ^ 'dev' is now a variable name!
"魔法"这是因为globals()
是dictionary
,其中Python存储了所有已定义的变量。就像任何其他dictionary
一样,您可以访问并修改它。但不要。
答案 2 :(得分:-1)
for g in group:
exec(g + ' = []')
这将创建由组中的值命名的列表。使用'exec`要非常谨慎。确保它是exec中的代码。