2016-10-14 3 views
-1

У меня есть список списков, которые я пытаюсь использовать в качестве матрицы. В последней строке кода, когда я добавляю '+ 1' к первому аргументу в функции min(), я получаю сообщение об ошибке 'TypeError: может только конкатенировать список (а не «int») для списка ». Может ли кто-нибудь помочь мне с правильным способом добавить его к значению, которое я вызываю из списка для сравнения? Благодаря!Ошибка при попытке добавить +1 к значению, возвращенному из списка

matrix = [] 
    for j in range(0,j+1): 
     matrix.append([]) 
    j = len(t) 
    for j in range(0,j+1): 
     i = len(s) 
     for i in range(0,i+1): 
      matrix[j].append([i]) 
    matrix[j][i] = matrix[j-1][i-1] 
    j = len(s) 
    for j in range(1,j+1): 
     i = len(t) 
     for i in range(1,j+1): 
      matrix[j][i]= min((matrix[j-1][i] +1), (matrix[j][i-1])) 
+2

Ваш код является неправильным, это приведет к ошибке, указанной в письменной форме (до того, что вы достигнете), поэтому трудно сказать, что происходит. что начинается 'j'? –

+0

Код действительно запутанный: вы переназначаете переменные, а индексные переменные используются как число итераций. Легко ошибиться и очень трудно понять. Попробуйте использовать индексные переменные (* i *, * j *) только как индексы. – Slava

ответ

0

Вероятно, вы должны заменить:

matrix[j].append([i]) 

с

matrix[j].append(i) 

Вы хотите добавить целые числа, чтобы перечислить, одна матрица-строка быть:

[0, 1, 2, 3, ...] 

В то время как вы добавляете списки в список, которые создают s строка в матрице как

[[0], [1], [2], ...] 
Смежные вопросы