我试图根据header_count中的数字创建一些列表。下面的代码应生成3个列表,但我得到了语法错误。
header_count = 4
for i in range(1, header_count):
header_%s = [] % i
答案 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)]