如何处理错误“IndexError:string index out of range”

时间:2015-07-09 02:22:02

标签: python indexing

我正在尝试读取二维表但是当我将这些值插入到打印函数的索引中时,我收到一个错误。

表格为6x6。即使我将1作为列,1作为行,我再次得到错误。

我的代码:

grep <string> filename

3 个答案:

答案 0 :(得分:1)

我猜您的问题是您要尝试 - line[int(line)][int(column)],访问line字符串作为2d表,您应该提供2d表的名称,而不是行

示例 -

table[int(line)][int(column)] #if table is the name of the 2d table otherwise give 2d table's name instead of `table`

答案 1 :(得分:1)

由于你没有给2-D表命名,在我的解决方案中,我认为它是table

table = [[], [], []]  # some 2-D array
line = int(raw_input("Enter the line: "))
column = int(raw_input("Enter the column: "))
print("Line:", line, "Column:", column, "Item:", table[line][column])

我希望你觉得这很有用。

答案 2 :(得分:1)

  

IndexError:字符串索引超出范围

这个错误很容易解释。字符串str的有效索引在0len(str) - 1范围内。您提供了该范围之外的索引。

例如,假设我们有

str = 'abc'

然后以下内容有效:str[0]str[1]str[2]。所有其他索引都会导致运行时错误。

您需要确定代码中提供无效索引的位置。它似乎必须在你写的地方:

line[...]

您提供的索引无效。

一旦你修好了,你就会遇到下一个问题。那就是line[...]是一个单个字符,本身不能被编入索引。因此,即使修复外部索引,内部索引也始终无效。

我不知道你的代码是做什么的,所以不能告诉你如何解决下一个问题。