【发布时间】:2012-05-21 07:43:23
【问题描述】:
我的主程序有问题:
E, back = dict(), dict()
for C in range(cols+1):
E[0,C], back[0,C] = m[0,C], None
哪个返回我这个错误:
TypeError:列表索引必须是整数,而不是元组
我很困惑,因为我清楚地初始化了字典而不是列表。
这个错误是关于什么的,bot E 和 back 是第一行中所述的字典。但是当我尝试添加元素时,它会给我一个 LIST 错误?
编辑—— “m”是一个像素数组 "cols" 是 len(m[0]) 我的代码的目的是对存储在 m 中的图像执行垂直 Seam Carving,其中 m[x][y] 是 x,y 位置像素的灰度。 我不想/需要关于缝雕刻算法的帮助,但是这个错误消息现在让我发疯了,没有任何意义。
好的,我在编辑中更正了自己...我试图将 m 作为字典访问,它确实是一个数组。真丢人。
【问题讨论】:
-
m的类型是什么? -
你说它没有意义,但是你有一个像素列表,
m[0,C]意味着从列表中得到什么?那就是告诉它从列表中获取索引(0, C),这是没有意义的。你可能想要m[0][C]。 -
我添加了更多信息,m 是一个数组(列表列表)。哦,我的 g..... 我认为你是对的。
标签: python dictionary tuples