如何在python中增加列表的名称

时间:2012-01-06 19:55:08

标签: python list naming

我希望能够增加列表的名称,以便创建多个空列表。

例如,我想要。

List_1 = [] 
List_2 = []
...
List_x = []

我一直在努力:

for j in range(5):            #set up loop
  list_ = list_ + str(j)     # increment the string list so it reads list_1, list_2, ect
  list_ = list()             # here I want to be able to have multiple empty lists with unique names
  print list_

2 个答案:

答案 0 :(得分:15)

执行此操作的正确方法是列出清单。

list_of_lists = []
for j in range(5):
   list_of_lists.append( [] )
   print list_of_lists[j]

然后,您可以使用以下方式访问它们:

list_of_lists[2] # third empty list
list_of_lists[0] # first empty list

如果真的想要这样做,尽管你可能不应该这样做,你可以使用exec

for j in range(5):
    list_name = 'list_' + str(j)
    exec(list_name + ' = []')
    exec('print ' + list_name)

这会在list_name下的字符串中创建名称,然后使用exec执行该动态代码。

答案 1 :(得分:3)

我强烈推荐organgeoctopus的答案,但为了在Python中如何做到这一点:

# BAD HACK
for i in range(5):
    locals()['list_%d' % i] = []