制作未知数量的变量

0 python

我试图根据从输入文件中提取的数字来声明变量.我尝试使用数组并没有走远.

amountOfQuads = header_line.split(',')[1]
print amountOfQuads
quad = []
print 'test'
for i in range(1,amountOfQuads):
    quad[i] = vtk.vtkQuad()
Run Code Online (Sandbox Code Playgroud)

这给出了一个"range()整数结束参数,得到了str"错误.

例如,如果有3,我可以这样做:

quad1 = vtk.vtkQuad()
quad2 = vtk.vtkQuad()
quad3 = vtk.vtkQuad()
Run Code Online (Sandbox Code Playgroud)

这对于仅3个正方形非常有效,但对于更大的数量则不是那么多.

有一个更好的方法吗?

dav*_*ism 5

amountOfQuads是一个字符串,但range需要一个整数.此外,不是在列表上设置索引,而是append列表.

amountOfQuads = int(amountOfQuads)
quad = []
for i in range(amountOfQuads):
    quad.append(vtk.vtkQuad())
Run Code Online (Sandbox Code Playgroud)

你可以用理解来代替它.

quad = [vtk.vtkQuad() for _ in range(int(header_line.split(',')[1]))]
Run Code Online (Sandbox Code Playgroud)