【发布时间】:2014-04-21 07:36:48
【问题描述】:
里面有 TypeError 的代码。 “列表索引必须是整数,而不是列表”,尽管它们是整数。感谢您帮助我找出问题所在。我需要的是从具有不同值的源 7x5 选项卡中获取矩阵 7x5。错误发生在最后一行。
lines = []
with open("text.txt") as f:
for line in f:
line = [int(x) for x in line if (x != ' ') and (x != '\n')]
lines.append(line)
f.close()
阅读文件后我得到的是带有数字的列表列表,称为“行”。是整数。不是字符串。喜欢:
>> [[1, 2, 3...], [4, 5, 6...], [7, 8, 9...],[...]]
i = 1
j = 1
T = []
T.append(lines[0][0])
我这样做是为了避免最后一行(i-1 和其他东西)上的 IndexError(列表超出范围)。虽然,我不认为它真的是蟒蛇方式。我也很感激这件事的帮助。
for i in lines:
for j in lines:
T[i][j] = lines[i][j] + max(T[i][j-1], T[i-1][j])
这是发生错误的地方。如果i、j 已经是int,我不知道应该解决什么问题。
【问题讨论】:
-
如果 python 运行时告诉你它不是一个整数,那么它就不是一个整数。只需使用一些打印语句对其进行调试,您就可以自己查看...
标签: python list typeerror indices