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