我希望能够增加列表的名称,以便创建多个空列表。
例如,我想要。
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_
答案 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] = []