Ein negativer Schritt verhält sich genauso wie in range(start, stop, step)
. Bei der negativen Stufe ist zu beachten, dass stop
ist immer das ausgeschlossene Ende, egal ob es höher oder niedriger ist.
Es überrascht die Menschen häufig, dass '0123456789'[5:0:-1] == '54321'
, nicht '43210'
. Wenn Sie eine Teilsequenz in umgekehrter Reihenfolge wünschen, ist es viel sauberer, die Umkehrung separat durchzuführen. Z.B. ein Zeichen von links abschneiden, zwei von rechts, dann umkehren: '0123456789'[1:-2][::-1] == '7654321'
s. Wenn Sie keine Kopie brauchen, sondern nur eine Schleife machen wollen, ist es noch besser lesbar mit reversed()
:
for char in reversed('0123456789'[1:-2]):
...