Python:根据计数创建大量列表

Python:根据计数创建大量列表,python,Python,我正试图创建一个列表的数量取决于我的头数。下面的代码应该生成3个列表,但是我得到了一个语法错误 header_count = 4 for i in range(1, header_count): header_%s = [] % i 这是我对你想要的解释,我希望我猜对了(你不是很清楚) 现在您可以这样使用它: headers[1].append("this goes in the first header") headers[2].append("this goes in the se

我正试图创建一个列表的数量取决于我的头数。下面的代码应该生成3个列表,但是我得到了一个语法错误

header_count = 4
for i in range(1, header_count):
    header_%s = [] % i

这是我对你想要的解释,我希望我猜对了(你不是很清楚)

现在您可以这样使用它:

headers[1].append("this goes in the first header")
headers[2].append("this goes in the second header")

您需要创建一个列表列表:

header_count = 4
header = []
for i in range(header_count):
    header[i] = []
header_count = 4
listDict = {}
for i in range(1, header_count):
    listDict["header_"+str(i)] = []
在header中,变量引用一个包含4个列表的列表。每个列表的访问方式如下:

header[0].append(1)
header[1].append("Hi")
header[2].append(3.14)
header[3].append(True)

您所说的
标题是什么意思
%
是mod运算符,当然不能将其赋值给包含运算符的表达式。就像写作一样

a+b = c
您不能分配给
a+b
,也不能分配给
标题%s

你是说这个吗

header_lists = [[] for i in range(1,header_count)]
如果您需要列表名称(从您对nightcracker答案的评论中可以看出),您可以使用列表字典:

header_count = 4
header = []
for i in range(header_count):
    header[i] = []
header_count = 4
listDict = {}
for i in range(1, header_count):
    listDict["header_"+str(i)] = []

然后,您可以使用header_1、header_2、header_3作为键访问字典。

我正在尝试创建三个单独命名的列表。所以我需要标题1,标题2和标题3作为列表为什么?那真是一种糟糕的做法。这样你就可以把它当作
头[0]
头[1]
头[2]
。请不要鼓励不良做法。这似乎是他要求的!人们永远不会知道,即使这是一种可怕的做法,也可能是一种好奇。如果名称是动态生成的,并且除了简单的计数器之外还有一些信息内容,那么字典就是合适的数据结构(请参见下面问题的答案)。如果变量名称与简单计数或索引冗余,则列表是适当的数据结构。
头[0]。追加(1)
是索引异常。这不起作用,可能应该是:
对于范围内的i(1,头计数):头。追加([])
如果要生成3个列表,将
header\u count
设置为4非常奇怪。最好设置
header\u count=3
并在xrange(header\u count)
中迭代