Python:根据计数创建多个列表

时间:2011-03-18 22:44:31

标签: python

我试图根据header_count中的数字创建一些列表。下面的代码应生成3个列表,但我得到了语法错误。

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

4 个答案:

答案 0 :(得分:10)

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

header_count = 4
headers = [[] for i in range(1, header_count)]

现在您可以像这样使用它:

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

答案 1 :(得分:2)

你想要的是创建一个列表列表:

header_count = 4
header = []
for i in range(header_count):
    header[i] = []

在标头变量中引用包含4个列表的列表。每个列表可以按如下方式访问:

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

答案 2 :(得分:1)

如果您需要列表名称(从您对nightcracker答案的评论中看起来如此),您可以使用列表字典:

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

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

答案 3 :(得分:0)

header_%s你的意思是什么? %是mod运算符,当然不能分配给涉及运算符的表达式。这就像写作

a+b = c

您无法分配到a+b,也无法分配到header_%s

你的意思是?

header_lists = [[] for i in range(1,header_count)]