Co właściwie robi składnia rozszerzonego plasterka dla kroków ujemnych? [duplikować]

To pytanie ma już tutaj odpowiedź:

Zrozumienie notacji plasterków 31 odpowiedzi

Rozszerzona składnia plasterka w pytonie została mi wyjaśniona jako „a[n:m:k] returns every kth element from n to m

To daje mi dobry pomysł, czego się spodziewać, gdy k jest dodatnie. Ale zgubiłem się w interpretacjia[n:m:k] za ujemne k. wiem toa[::-1] odwraca a, i toa[::-k] przyjmuje zawsze k-element odwróconego a.

Ale jak to uogólnia definicję k dodatniego? Chciałbym wiedzieć jaka[n:m:k] jest właściwie zdefiniowany, więc (na przykład) mogę zrozumieć, dlaczego:

"abcd"[-1:0:-1] = "dcb"

Jesta[n:m:-k] odwracając sekwencję a, a następnie biorąc elementy z oryginalnymi indeksami zaczynając od n i kończąc na m przed czymś? Nie sądzę, ponieważ ten wzór nie pasuje do innych wartości n i m, których próbowałem. Ale nie rozumiem, jak to jest właściwie zdefiniowane, a szukanie mnie nie prowadzi.

questionAnswers(2)

yourAnswerToTheQuestion