Umgekehrt array numpy?
Numpy vorläufige tutorial deutet darauf hin, dass a[ : :-1]
ist eine umgekehrte a
. Kann jemand mir erklären, wie es dazu gekommen ist?
Ich verstehe, dass a[:]
bedeutet, dass für jedes element der a
(axis=0). Neben :
sollte bezeichnen die Anzahl der Elemente zu überspringen (oder Zeit) von meinem Verständnis.
Siehe stackoverflow.com/questions/509211/the-python-slice-notation -- Dieser ist für python richtige, aber numpy gehorcht, alle Konventionen, wie ein gutes 3rd-party-Paket.
Siehe auch stackoverflow.com/a/4371049/875127 für eine gute Erklärung, wie die basic-slicing in numpy gibt eine Ansicht und nicht eine Kopie des ursprünglichen Arrays.
Siehe auch stackoverflow.com/a/4371049/875127 für eine gute Erklärung, wie die basic-slicing in numpy gibt eine Ansicht und nicht eine Kopie des ursprünglichen Arrays.
InformationsquelleAutor Denys S. | 2013-04-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als andere haben darauf hingewiesen, dies ist ein python slicing-Technik, und numpy nur folgt Anzug. Ich hoffe, dies hilft zu erklären, wie es funktioniert:
Ist das Letzte bit der stepsize. Die
1
zeigt Schritt von einem element in einer Zeit, die-
bedeutet, dass in umgekehrter.Leerzeichen geben Sie die erste und Letzte, es sei denn, Sie haben eine negative stepsize, in welchem Fall Sie zeigen Letzte und erste:
Linie 5 gibt ein leeres array, da es versucht, Schritt rückwärts aus der
0
th-element, um die5
th.Die Scheibe beinhaltet nicht den 'Endpunkt' (benannt Letzte element), so dass Zeile 6 findet
0
beim rückwärts gehen.a[5:-1:-1]
zurückarray([], dtype=int64)
und nicht die richtige Antwortarray([4, 3, 2, 1, 0])
?In python Indizierung, negative zahlen zählen vom Ende in Richtung der Anfang, so
a[-1]
ist das Letzte element. Soa[5:-1:-1]
entsprichta[5:4:-1]
, also das leere array ist die richtige Antwort. Bis zum Ende (in jede Richtung) verwendenNone
oder lassen Sie es leer:a[5:None:-1]
odera[5::-1]
.InformationsquelleAutor askewchan
Es ist nicht numpy, es ist Python.
In Python gibt es Scheiben für die Sequenz/durchsuchbar, die in der folgenden syntax
Alle Argumente sind optional, aber eine
:
hat, es gibt für Python zu erkennen, diese als eine Scheibe.Negative Werte, für Schritt auch daran arbeiten, um eine Kopie der gleichen Reihenfolge/iterierbar in umgekehrter Reihenfolge:
Und numpy folgt, dass "Regel" - wie jedes gute 3rd-party-Bibliothek.
Sehen dieser link
InformationsquelleAutor pradyunsg
Dies ist nicht spezifisch für numpy das Slicen
a[::-1]
entsprichtslice(None, None, -1)
, wo das erste argument ist der start-index, das zweite argument ist die Ende-index, und das Dritte argument ist der Schritt.None
für start oder stop wird das gleiche Verhalten wie mit dem Anfang oder Ende der Sequenz, und-1
für Schritt wird die Iteration über die Sequenz in umgekehrter Reihenfolge.InformationsquelleAutor Andrew Clark
Können Sie die Umgekehrt Python built-in:
InformationsquelleAutor Aaron Lelevier