Кстати, благодаря отрицательным индексам, первый вариант будет работать с пустым списком без ошибок.
С чего вдруг? Что же будет присвоено в last ?)
Этот способ может вызвать баги, которые не могли бы появиться при использовании индексации с конца. Предположим, хотим получить 5-й элемент с конца, но список оказался слишком коротким:
a = [0,1,2]
print(a[len(a) - 5])
Получаем 1 вместо ожидаемой ошибки. Если бы было написано a[-5], то мы бы получили нужную ошибку.
С чего вдруг? Что же будет присвоено в
last?)Этот способ может вызвать баги, которые не могли бы появиться при использовании индексации с конца. Предположим, хотим получить 5-й элемент с конца, но список оказался слишком коротким:
Получаем
1вместо ожидаемой ошибки. Если бы было написаноa[-5], то мы бы получили нужную ошибку.Прекрасные статьи!
В предыдущей статье есть пара ошибок. Вы сказали следующее:
Это неправда. Оно вывалилось как раз во время исполнения. Компилятор питона не умеет отлавливать подобные вещи.
А ещё в питоне ключевого слова
localнет и никогда не было.