Перейти до вмісту
Винятки PythonПомилка
IndexError

IndexError: list index out of range

Індекс послідовності виходить за межі допустимого діапазону для даної послідовності.

python

Що спричиняє цю помилку

Ви звернулись до списку, кортежу або рядка за індексом, якого не існує. Індекс або завеликий (за межами останнього елемента), або занадто від'ємний. Порожні послідовності викидають цю помилку для будь-якого індексу.

Як виправити

Перевіряйте довжину послідовності через len() перед доступом за індексом. Обережно використовуйте від'ємну індексацію (list[-1] для останнього елемента). Явно обробляйте порожні послідовності. Використовуйте try-except IndexError, якщо довжина невідома.

Приклад

lst = [1, 2, 3]; lst[5]  # IndexError: list index out of range
Офіційна документація

Пов'язані коди помилок