60
Глава 3 • Списки
Python пытается вернуть элемент с индексом 3. Однако при поиске по списку
ни один элемент
motorcycles
не обладает индексом 3. Из-за смещения индексов
на 1 эта ошибка весьма распространена. Люди думают, что третьим элементом
является элемент с индексом 3, потому что они начинают отсчет с 1. Но для
Python третьим является элемент с индексом 2, потому что индексирование
начинается с 0.
Ошибка индексирования означает, что Python не может понять, какой индекс за-
прашивается в программе. Если в вашей программе происходит ошибка индексиро-
вания, попробуйте уменьшить запрашиваемый индекс на 1. Затем снова запустите
программу и проверьте правильность результатов.
Помните, что для обращения к последнему элементу в списке используется
индекс –1. Этот способ работает всегда, даже если размер списка изменился
с момента последнего обращения к нему:
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles[-1])
Индекс –1 всегда возвращает последний элемент списка, в данном случае значение
'suzuki'
:
'suzuki'
Этот синтаксис порождает ошибку только в одном случае — при попытке получить
последний элемент пустого списка:
motorcycles = []
print(motorcycles[-1])
В списке
motorcycles
нет ни одного элемента, поэтому Python снова выдает ошибку
индексирования:
Traceback (most recent call last):
File "motorcyles.py", line 3, in
print(motorcycles[-1])
IndexError: list index out of range
Достарыңызбен бөлісу: