【问题标题】:IndexError: list index out of range 2 dimension listIndexError:列表索引超出范围二维列表
【发布时间】:2015-10-20 13:32:03
【问题描述】:

我收到此错误:

Traceback(最近一次调用最后一次): 文件“C:/Python27/main.py”,第 21 行,在 矩阵[1][1].append(2) IndexError: 列表索引超出范围

这是我的代码

file = open("C:\\Python27\\test.txt", "r")

s1 = file.read();
s2 = file.read();

matrix = [[0 for x in range(len(s1))] for x in range(len(s2))]

matrix[1][1].append(2)
print matrix[1][1]

len(s1)len(s2) 大于 5

我尝试使用matrix[1][1] = 2 而不是matrix[1][1].append(2),但它不起作用。

那么我的错误是什么?

【问题讨论】:

  • 只是为了记录:你没有问任何问题。
  • matrix[1][1].append(2) 肯定行不通,因为您试图附加到 int
  • 您可能还想再次测试len(s2)
  • 只是对风格的评论,我会使用matrix = [ [0] * len(s1) ] * len(s2)

标签: python list


【解决方案1】:

我会打印 len(s1) 和 len(s2)。它们可能不是您所期望的。如果你想设置矩阵的第 1 列第 1 行,你会这样做:

matrix[1][1] = 2

因为否则您会尝试将数字 2 附加到 (1,1) 处的元素,这不是列表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 2015-06-26
    相关资源
    最近更新 更多