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