Рубрики
Без рубрики

Python IndexError: Индекс списка вне диапазона

Ismycode |. IndexError: Индекс списка выходит из диапазона, если вы получите доступ к неверному индексу в вашем … Помечено Python, программирование, CodeNewie.

Ismycode |.

IndexError: Индекс списка вне диапазона Происходит, если вы получаете доступ к неверному индексу в своем списке Python, вообще его поднят при попытке получить индекс из последовательности (например, списка, кортеж и т. Д.), и индекс не найден в данной последовательности.

Ниже приведен классический пример, который поднимает IndexError: Индекс списка вне диапазона

test = list(range(53))
test[53]

IndexError: list index out of range
--------------------------------------------------------------------------------
IndexError Traceback (most recent call last)
c:\Projects\Tryouts\listindexerror.py in 
      1 test = list(range(53))
---------> 2 test[53]

IndexError: list index out of range

Сообщение об ошибке указывает, что мы пытаемся получить доступ к индексу, который отсутствует в списке. В этом случае мы пытаемся распечатать индекс 53, который нет и в Python номер индекса начинается с 0, поэтому первый элемент списка будет 0, а последний элемент будет длиной 1.

Проблема: indexError: Индекс списка вне диапазона

Общая причина, которая приводит к этому исключительству IndexError: Индекс списка вне диапазона в том, что

  • Список итерация с индексом, начиная от 1 вместо 0.
  • Последний элемент доступа к длине списка. Доступ к тому, что он должен быть доступен как Лен (список) -1.
  • Когда вы забываете использовать * Диапазон () * Итерации по списку.

Решение indexError: Индекс списка вне диапазона

Есть несколько способов разрешить indexError в Python. Не рекомендуется получить доступ к списку или массиву в любом программировании с использованием жесткодируемого значения индекса. Это часто приводит к исключению, вместо этого используют одну из лучших практик ниже.

  • Использование функции Len ()
  • Используя для петли с ‘в’
  • Использование для цикла с диапазоном ()

Решение 1 – Использование Len () функция

Если список создан динамически, трудно предсказать индекс и получить доступ к элементу. В таком случае всегда проверяйте длину списка перед доступом к элементу списка.

numbers = [1, 2, 3, 4, 6, 8, 10]
index = 3
if index < len(numbers):
    print(numbers[index])

#Output 4

Решение 2 – Использование для цикла с «в»

Используйте операторы членства, чтобы подтвердить членство в ценности. Операторы членства используются для передачи всех элементов в последовательности, таких как строки, списки или кортежи. Ошибка . IndexError: Индекс списка вне диапазона будет решен операторами членства.

numbers = [1, 2, 3, 4, 6, 8, 10]
for i in numbers:
    print(i)

Решение 3 – Использование для петли с диапазоном ()

Диапазон () Функция Возвращает последовательность чисел, начиная с 0 по умолчанию, приращения к 1 (по умолчанию) и останавливается до указанного номера. Функция диапазона поможет в итерации элементов в цикле.

Синтаксис: диапазон (пункт, остановка, шаг)

Старт (необязательно): Целое число, которое указывает на начало последовательности. Значение по умолчанию равно 0, если оставить пустой.

  • Стоп: Целое число, которое указывает, где последовательность должна остановиться.
  • Шаг (необязательно): Используется, если вы хотите увеличить на номер более 1. Значение по умолчанию составляет 1
numbers = [1, 2, 3, 4, 6, 8, 10]
for i in range(len(numbers)):
    print(i)

Пост Python IndexError: Индекс списка вне диапазона появился первым на INSMYCODE Отказ

Оригинал: “https://dev.to/itsmycode/python-indexerror-list-index-out-of-range-hdo”