2015-07-29 3 views
0

Я получаю эту ошибку:IndexError: список индексов вне диапазона 2 списка измерения

Traceback (most recent call last): File "C:/Python27/main.py", line 21, in matrix[1][1].append(2) IndexError: list index out of range

Это мой код

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), но это не сработает.

Так в чем мои ошибки?

+3

только для справки: вы не задаете никаких вопросов. – jojo

+0

'matrix [1] [1] .append (2)', конечно, не будет работать, поскольку вы пытаетесь добавить в 'int' – jojo

+0

, также вы можете снова протестировать' len (s2) '. – jojo

ответ

3

Я бы напечатал len (s1) и len (s2). Вероятно, они не то, что вы ожидаете. И если вы хотите установить ряд 1 Столбец 1 матрицы вы могли бы сделать:

matrix[1][1] = 2 

, потому что в противном случае вы пытаетесь добавить номер 2 к элементу в точке (1,1), который не является списком.

Смежные вопросы