Итак, я играл с python и заметил кое-что странное. Семантика -1
при выборе из списка не выглядит согласованной.
Итак, у меня есть список чисел
ls = range(1000)
Последний элемент списка, если, конечно, ls[-1]
, но если я возьму его подсписок, чтобы получить все, от середины до конца, я бы сделал
ls[500:-1]
но это не дает мне список, содержащий последний элемент в списке, а вместо этого список, содержащий все до последнего элемента. Однако, если я сделаю
ls[0:10]
Я получаю список, содержащий также десятый элемент (поэтому селектор должен быть включительным), почему тогда он не работает для -1
.
Конечно, я могу сделать ls[500:]
или ls[500:len(ls)]
(что было бы глупо). Мне было просто интересно, что за сделка с -1, я понимаю, что она мне там не нужна.