Индекс списка вне диапазона, видимо, ничего плохого - PullRequest
0 голосов
/ 05 мая 2018
transposta = []
nova_linha = []
for i in range (len(matriz)):
    for j in range(len(matriz[i])):
        nova_linha.append(matriz[i][j])
        i+=1
    transposta.append(nova_linha)
    j+=1
    nova_linha = []
return transposta

Я получаю индекс списка из-за ошибки диапазона в строке nova_linha.append (matriz [i] [j])

почему это происходит?

1 Ответ

0 голосов
/ 05 мая 2018

Это будет работать нормально:

for i in range (len(matriz)):
    for j in range(len(matriz[i])):
        nova_linha.append(matriz[i][j])    
    transposta.append(nova_linha)
    nova_linha = []

Тем не менее, вы добавили в строки, которые делают i += 1 и j += 1. for цикл над range уже позаботится об этом за вас.

Обычно это было бы так же безобидно, как и бесполезно, потому что ваше изменение просто было бы выброшено в следующий раз через цикл - но вы также получили их назад. Так что теперь, каждый раз во внутреннем цикле, вы увеличиваете i и довольно быстро убегаете из нижней части матрицы.

...