2013-11-05 99 views
2

Python中的新增功能,帮助。 为什么我得到这个错误: “类型错误:列表索引必须是整数,而不是元组,”TypeError:列表索引必须是整数,而不是元组,什么是错的

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 
+1

您能否提供预期的输出格式?我只是在我的答案中猜测它。 – aIKid

+0

当我看到每个名字都附加了'z'时,我恐惧不已。 –

回答

5

这个语法是错误的:

imheight[i,j] = hij 
imheight[j,i] = hij 

也许你的意思呢?

imheight[i][j] = hij 
imheight[j][i] = hij 

但话又说回来,imheight是一维的名单,但你假定它是一个二维矩阵。

imheight = [[0] * len(tables) for _ in range(len(tables))] 
+0

与此我得到“IndexError:列表索引超出范围” –

+0

@ArunknownUnknownz我更新了我的答案。你没有正确初始化imheight –

1

字典会得到你想要的分配行为:

imheight = {} 

如果以后需要遍历它以某种顺序,如果你先初始化imheight正确它只会工作,这不像将它作为正确的列表清单那样容易,因为字典不能维持秩序。但是,这可能工作得很好。

0

imheight[i,j] = hij 

应该这样写:

imheight[i:j] = hij 

这意味着从i到j的索引。

相关问题