Python新手,帮助。 为什么我收到此错误: “TypeError:list indices必须是整数,而不是元组,”
imheight = []
for i in range(0,len(tables)):
for j in range(0,len(tables)):
hij = computeHeight(imp[i],imp[j],'Meter')
imheight[i,j] = hij
imheight[j,i] = hij
答案 0 :(得分:5)
这种语法错误:
imheight[i,j] = hij
imheight[j,i] = hij
也许你是这个意思?
imheight[i][j] = hij
imheight[j][i] = hij
但是再一次,imheight
是一维列表,但你假设它是一个二维矩阵。它只有在您首次正确初始化imheight
时才有效:
imheight = [[0] * len(tables) for _ in range(len(tables))]
答案 1 :(得分:1)
字典会为您提供所需的分配行为:
imheight = {}
但如果你以后需要按某种顺序迭代它,这就像你将它作为一个正确的列表列表一样容易,因为字典不要维持秩序。但是,这可能足够好。
答案 2 :(得分:0)
不
imheight[i,j] = hij
应该这样写:
imheight[i:j] = hij
表示从i到j的索引。