Мне показалось, что я понял основы обработки списка в python, но получал непредвиденную ошибку при использовании отрицательного шага на срезе, так как следующим образом:Ошибка в списке Python: [:: - 1] step on [: -1] slice
>>> a = list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[:-1]
[0, 1, 2, 3, 4, 5, 6, 7, 8]
>>> a[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> a[:-1:-1]
[]
(Обратите внимание, что это в настоящее время работает в Python 3.5)
Почему не [: - 1: -1] обратного шага через в [: - 1] срез в так же, как и через весь список с [:: - 1]?
Я понимаю, что вы также можете использовать list.reverse(), но лучше понять базовую функциональность среза python.
Я думаю, что вы ищете '' а [-1 :: - 1] ''. Первый индекс дает начало, второй индекс дает конец, и вы хотите начать с индекса -1. – jakevdp
@ekhumoro: Я сделал, и он работает. '[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]' – Josh
@Josh. Как это отличается от 'a [:: - 1]'? – ekhumoro