Ошибка «индекс вне диапазона» в Python возникает, когда вы пытаетесь получить доступ к элементу из списка, кортежа или другой последовательности, используя индекс, который не существует. Вот практические способы исправить и избежать этой ошибки:
1. Сначала проверьте длину последовательности
Используйте функцию len(), чтобы подтвердить допустимый диапазон индекса. Допустимые индексы начинаются с 0 и заканчиваются длиной – 1.
python
运行
Код: Выделить всё
my_list = [10, 20, 30]
# The valid indexes are 0, 1, 2
print(len(my_list)) # Output: 3
Не записывайте в качестве индексов фиксированные большие числа, особенно если длина последовательности является переменной.
3. Правильно используйте циклы
При переборе последовательности перебирайте элементы напрямую, а не вручную управляйте индексами:
python
运行
Код: Выделить всё
# Recommended way
for item in my_list:
print(item)
# Avoid this risky way
for i in range(10): # Exceeds the list length
print(my_list[i])
Добавьте решение, чтобы избежать доступа к элементам, когда последовательность пуста:
python
运行
Код: Выделить всё
if my_list:
print(my_list[0])
else:
print("The list is empty")
Прежде чем получить доступ к индексу, проверьте, находится ли он в допустимом диапазоне:
python
运行
Код: Выделить всё
index = 5
if 0