Ответ
Да, в Python можно использовать отрицательные индексы для доступа к элементам списка (и других последовательностей, например, кортежей, строк). Это удобный синтаксический сахар для обращения к элементам с конца.
Как это работает:
-1— последний элемент.-2— предпоследний элемент.- И так далее до
-len(list)(первый элемент).
Примеры:
my_list = ['a', 'b', 'c', 'd', 'e']
print(my_list[-1]) # 'e' (последний)
print(my_list[-3]) # 'c' (третий с конца)
print(my_list[-5]) # 'a' (первый элемент, эквивалентно my_list[0])
# Срезы (slicing) также работают с отрицательными индексами
print(my_list[-3:]) # ['c', 'd', 'e'] (с третьего с конца до конца)
print(my_list[:-2]) # ['a', 'b', 'c'] (с начала до третьего с конца)
print(my_list[-4:-1]) # ['b', 'c', 'd']
Важно: Ошибка выхода за границы
Попытка обратиться к индексу, меньшему чем -len(list), вызовет IndexError.
print(my_list[-6]) # IndexError: list index out of range
Практическое применение в тестировании: Этот прием часто используется для быстрой проверки последних элементов в логах, результатах или для реализации логики "последний из N".