Индексная ошибка:индекс списка вне диапазона и Python
-
11-09-2019 - |
Вопрос
Я приказываю своей программе распечатать строку 53 вывода.Эта ошибка говорит мне о том, что строк не так много и поэтому невозможно ее распечатать?
Решение
Если у вас есть список из 53 элементов, последний — thelist[52]
потому что индексация начинается с 0.
Другие советы
Да,
Вы пытаетесь получить доступ к несуществующему элементу списка.
MyList = ["item1", "item2"]
print MyList[0] # Will work
print MyList[1] # Will Work
print MyList[2] # Will crash.
У вас есть ошибка на единицу?
Да.В последовательности нет 54-го элемента.
Это верно.«индекс списка вне диапазона», скорее всего, означает, что вы имеете в виду n-th
элемент списка, а длина списка меньше n
.
Всегда имейте в виду, что когда вы хотите устранить эту ошибку, значение индексации и диапазона по умолчанию начинается с 0, поэтому, если общее количество элементов равно 100, тогда l[99] и range(99) предоставят вам доступ до последнего элемента.
всякий раз, когда вы получаете этот тип ошибки, пожалуйста, перепроверьте элементы, которые находятся между/средними в диапазоне, и убедитесь, что их индекс не является последним. Если вы получаете выходные данные, то вы допустили совершенную ошибку, упомянутую выше.
Индексирование Python работает так: оно начинается с 0., поэтому первое число вашего списка будет [0].Вам придется печатать [52], так как начальный индекс равен 0, и поэтому строка 53 [52]
.
Вычтите 1 из значения, и все будет в порядке.:)
Если вы читаете список из текстового файла, вы можете получить последнюю пустую строку как элемент списка.Избавиться от этого можно так:
list.pop()
for i in list:
i[12]=....