创建一个名称仅在程序运行后才知道的列表

Amz*_*tor 1 python list python-2.7

我想制作一个列表并将其命名为我在运行程序后才知道的名称:

例如:

#making shelfs
group_number = 1
group_name = 'group' + str(group_number)
print group_name
Run Code Online (Sandbox Code Playgroud)

group_name将是:group1

现在我想创建一个名为group1的空列表.怎么做这样的事情?

mgi*_*son 5

通常你只需将它放入字典中:

d = {group_name:[]}
Run Code Online (Sandbox Code Playgroud)

现在您可以通过字典访问您的列表了.例如:

d['group1'].append('Hello World!')
Run Code Online (Sandbox Code Playgroud)

另一种方法是修改globals()函数的结果(这是一个字典).这绝对是不好的做法,应该避免,但我在这里包括它,因为它总是很好地了解你正在使用的工具:

globals()[group_name] = []
group1.append("Hello World!")
Run Code Online (Sandbox Code Playgroud)

  • +1.一般来说,当人们想要这样做时,他们实际上会更好地使用字典. (2认同)