Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Python, помогите обойти list index out of range

Суть такая: надо сделать цикл для каждого числа в списке внутри списка, приходится работать так, что нужно вылезти за край. Думал, что можно как-то с отрицательной шкалой поработать, но не получилось. Вот пример
a = [[1, 2, 3]]
m = 0
for i in a:
for j in i:
if i[0][m + 1] = 'x':
m += 1
...
Как мы видим, все будет хорошо, пока m не будет = 2, потом будет ошибка. Как ее обойти чтоб сделать что я хочу?

По дате
По рейтингу
Аватар пользователя
Мастер
5лет

В этом коде не будет list index out of range. Первая ошибка - ты в if поставил одно =. Вторая - int object is not subscriptable (кажется такая, мне лень запускать код и проверять) она возникает, потому что в переменной i у тебя список [1, 2, 3], ты достаешь оттуда элемент с индексом 0 (т. е 1 - int), а потом еще и элемент m + 1 которого в числе быть не может.

> В этом коде не будет list index out of range:
Если исправить то, что я сказал выше, то она будет, чтобы ее пофиксить просто убери лишнюю 1:
if i[m] = 'x':