我想制作一个列表并将其命名为我在运行程序后才知道的名称:
例如:
#making shelfs
group_number = 1
group_name = 'group' + str(group_number)
print group_name
group_name将是:group1
现在我想创建一个名为group1的空列表。怎么做这样的事情?
答案 0 :(得分:5)
通常你只需将它放入字典中:
d = {group_name:[]}
现在您可以通过字典访问您的列表了。 e.g:
d['group1'].append('Hello World!')
另一种方法是修改globals()
函数(字典)的结果。这绝对是不好的做法,应该避免,但我在这里加入它,因为我们总是很高兴知道你正在使用的工具:
globals()[group_name] = []
group1.append("Hello World!")
答案 1 :(得分:2)
您想要创建以“group”开头的变量的伪命名空间。为什么不改用字典?
#making shelfs
groups = {}
group_number = 1
name = str(group_number)
groups[name] = [] # or whatever
print groups[name]
这与@ mgilson的答案略有不同,因为我试图鼓励您为每个相关对象集合创建新的命名空间。
答案 2 :(得分:1)
你这样做:
locals()['my_variable_name'] = _whatever_you_wish_
或
globals()['my_variable_name'] = _whatever_you_wish_
或
vars()['my_variable_name'] = _whatever_you_wish_
谷歌自己找出差异:P