Warum gibt "[:: - 1]" eine umgekehrte Liste in Python zurück? [Duplikat]

8

Ich habe gesehen, dass diese Syntax in einigen Code-Schnipsel auftaucht, die ich in letzter Zeit gesehen habe, und ich bin neugierig, was es tut. Wenn ich my_list = [1,2,3,4,5] habe und my_list[::-1] führe, bekomme ich eine Liste mit den umgekehrten Elementen [5,4,3,2,1] . Könnte mir bitte jemand erklären, was das eigentlich ist, und den Unterschied zwischen [:] notation und [::] anzeigen? Oder verweisen Sie mich zumindest auf eine Ressource, die das tut.

Ich bin sicher, wenn ich ein gutes Python-Buch hätte, wäre es drin, aber ich nicht. Und es ist unmöglich, Google nach so etwas zu durchsuchen, da [::] ignoriert wird. Danke!

    
Nathan Jones 22.06.2012, 22:53
quelle

1 Antwort

22

Es besteht kein Unterschied zwischen [:] und [::] .

Aber [::-1] macht etwas anderes: es hat einen negativen Schrittparameter. Das Fehlen der Start- und Stopp-Parameter bedeutet das vollständige Array. Der negative Schrittparameter bedeutet, dass Daten in umgekehrter Reihenfolge vom Ende bis zum Anfang genommen werden.

    
glglgl 22.06.2012, 22:57
quelle

Tags und Links