【发布时间】:2012-12-06 07:19:39
【问题描述】:
我正在开发一个 Python 图像库项目以获取乐趣。但是,我无法弄清楚为什么我不断收到此代码的“列表不可调用”错误:
def __computeTopColors(self):
temp1, temp2, temp3, temp4 = [], [], [], []
max = (0,0,0)
for v in self.PixelVals:
if (v[0] > max[0]) and (v[1] > max[1]) and (v[2] > max[2]):
max = v
min = (1000,1000,1000)
for v in self.PixelVals:
if (v[0] < min[0]) and (v[1] < min[1]) and (v[2] < min[2]):
min = v
for pval in self.PixelVals:
if (min[0] <= pval[0] <= int(((max[0])/2))) and (min[1] <= pval[1] <= int(((max[1])/2))):
temp1.append(pval)
return temp1
def temp(self):
print self.temp
注意:这实际上是一节课的摘录,但我认为这不是特别相关。 self.PixelVals 是 (R,G,B) 形式的列表元组。 self.temp 是我用来测试__computeTopColors 方法的临时方法;我在__init__ 中设置self.temp 等于self.__computeTopColors。
回溯:
Traceback (most recent call last):
File "fiveColors.py", line 39, in <module>
a.temp()
第 39 行是我代码块中的最后一行。
【问题讨论】:
-
你能发布完整的回溯吗?
-
至少告诉我们哪一行引发了异常,否则我们必须逐行检查您的代码,试图猜测哪一行可能是错误的。
-
此外,它是类的一部分这一事实可能不相关,但您可以将其提取到可以自行运行的东西中,并给我们Short, Self Contained, Correct Example。
-
该回溯中的代码似乎不是您向我们展示的任何代码。你说“是我代码块中的最后一行”,但最后一行是
print self.temp,显然和a.temp()不一样。 -
@xetur:当你在做的时候,为什么不给我们一个实际的可运行示例,它会产生你希望我们调试的错误,而不是给我们随机的不相关代码,让我们尝试猜猜你的其余代码可能有什么问题?